2012-05-21 78 views
2

我检出了documentation替换过滤器的树枝。我的问题是,假设我有一个变量说contvariable,并通过从控制器变量传递的内容是动态的扩展使用小枝替换过滤器?

return $this->render('RodasysFormstudyBundle:Default:addclientname.html.twig', array('contvariable' =>$sometext)); 

这个$sometext变量将包含类似

$sometext='%Sun% rises in the East'; 

内的文字文本%%应该在浏览器中显示为input field。我没有在网络上找到任何例子来替换%%(无论太阳还是月亮)的内容。这是可能做到这一点使用replace过滤器或我应该遵循一些其他的方法,如寄往该树枝之前更换控制器中的内容..

请帮助..

回答

2

你可以做这样的事情(与“原始”过滤器):

{{ "%foo% rises in the East"|replace({'%foo%': "<input type='text' name='"~foo~"' value='"~foo~"'/>"})|raw }} 

FOO是由控制器发送的变量,与所选择的值。

+0

你似乎没有得到我的问题!其实你不知道%%之间的内容是什么,我希望我能得到这样的信息,%%中的内容不仅仅是foo。它应该是一个输入字段。那可能吗。? –

+1

实际上,您似乎无法使用具有动态名称的替换过滤器。你应该编写自己的树枝扩展来实现,或者通过%%和值之间的关键字传递'contvariable'来替换关键字。 (在控制器做替换将是相当丑陋的) – maxdec

+0

没有我的网站它不可能%%之间发送变量单独变量'contvariable'包含两个单词不在%%和哪些是in.hope if任何人都会为此提出解决方案。 –