2013-04-12 6 views
12

テンプレート名がそれ自身の変数であるインクルードされた小枝テンプレートに変数を渡すことは可能ですか?テンプレート名に変数を持つインクルードされた小枝テンプレートに変数を渡す

{% include('MyMainBundle:MyEntity:' ~ entity.templateName) %} 

でも、このテンプレートに変数を渡そうとすると、twigは構文エラーをスローします。

{% include('MyMainBundle:MyEntity:' ~ entity.templateName, {'name' : myName}) %} 

答えて

30

私が間違っていたことを確認します。私はインクルードの二つの異なるバージョンを組み合わせました。一つは{{を使用し、もう一つは{%を使うsymfonyとtwigのドキュメントがテンプレートを含むさまざまな方法を示しています。これは、最初のコードから括弧を削除し、引数を定義する前にaを挿入するだけで簡単でした。

あなたが変数としてテンプレート名についてhttp://twig.sensiolabs.org/doc/tags/include.html

{% include 'template.html' with {'foo': 'bar'} %} 
+0

それを解決したら – zizoujab

+3

私はそれを明日解決したらマークしますStackOverflowは私に...許可しますか? – RHarrington

+0

ok申し訳ありません:)私は忘れました – zizoujab

4

あたりhttp://symfony.com/doc/current/book/templating.html#including-other-templates

{{ include('AcmeArticleBundle:Article:articleDetails.html.twig', {'article': article}) }} 

またはこのようなあたり、このようなテンプレートを含めることができ、私はこのフォーマットを使用する必要がありました:

{% include 'AcmeCalendarBundle:Default:cal_event_' ~ day.item.type ~ '.html.twig' with {'item': day.item} %} 

使用方法

{{ include 'AcmeCalendarBundle:Default:cal_event_' ~ day.item.type ~ '.html.twig', {'item': day.item} }} 

が機能しませんでした。

関連する問題