2012-05-21 35 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任何人都會爲此提出解決方案。 –