2013-04-12 133 views
12

是否可以將變量傳遞到包含的樹枝模板中,其中模板名稱本身是一個變量?將變量傳遞到模板名稱中包含變量的包含的樹枝模板中

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

的工作,但是當我嘗試也傳遞一個變量到這個模板,枝會拋出一個語法錯誤。

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

回答

30

我明白我做錯了什麼。我合併了兩個不同版本的include,一個使用{{,另一個使用{%,由於symfony和twig文檔顯示了包含模板的不同方式。這與從我的初始代碼中刪除括號並在定義參數之前插入with一樣簡單。

可以包括每http://twig.sensiolabs.org/doc/tags/include.html

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

如果解決然後標記它 – zizoujab

+3

我將標記它明天解決一旦StackOverflow將允許我...好嗎? – RHarrington

+0

確定抱歉:)我忘了 – 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} }} 

沒有工作。