2016-07-29 3 views
0

私はすべてのビューファイルでいくつかのコンテンツを置き換える必要があります。しかし、多くの場所のコンテンツはテキストであり、変数ではありません。variable|replace()フィルタを使用することはできません。SymfonyとTwig、プレレンダリング、パースビュー、コンテンツの置換

私はそれをいくつかの関数に渡してコンテンツを表示する準備ができているので、表示する前に(例えばコントローラ内の)コンテンツを取得する方法はありますか? blockタグ内のすべてのコンテンツを置き換える方法がありますか?

+1

ます$ this-> renderView(twigname、配列( 'text_to_replace' '=> $テキスト)あなたが – jonju

+1

探しているものをこれはなぜあなたがいけないですあなたの意見を変えて、それを変数にしますか? – NDM

答えて

1

Symfonyコントローラは2つの関数render()renderView()を持っています。前者はビューをレンダリングし、Responseを返します。後者はビューをレンダリングして文字列resultを返します。

ので、あなたのアクションでできます。?

$content = $this->renderView('my-view.html.twig', [...]); 

$content = str_replace('my text', 'my new text', $content); 

return new Response($content); 
+0

これはそれです! – unbreak

関連する問題