2013-04-12 20 views
12

È possibile passare le variabili in un modello di ramoscello incluso, in cui il nome del modello è una variabile in sé stesso?Passaggio della variabile nel modello di ramoscello incluso con variabile nel nome del modello

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

opere, ma quando provo a passare anche una variabile in questo modello, ramoscello getta un errore di sintassi.

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

risposta

30

Vedo cosa stavo facendo male. Avevo combinato due diverse versioni di include, una che utilizzava {{e l'altra che utilizzava {% a causa dei documenti di symfony e twig che mostravano diversi modi di includere i modelli. Questo è stato semplice come rimuovere la parentesi dal mio codice iniziale e inserire un con prima di definire l'argomento.

È possibile includere un modello come questo per http://symfony.com/doc/current/book/templating.html#including-other-templates

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

O come questo per http://twig.sensiolabs.org/doc/tags/include.html

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

se risolto quindi contrassegnarlo – zizoujab

+3

lo segnerò risolto domani una volta StackOverflow mi permetterà di ... Ok? – RHarrington

+0

ok scusa :) ho dimenticato – zizoujab

4

Per un nome di modello come una variabile, ho dovuto utilizzare questo formato:

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

Utilizzo

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

non ha funzionato.

Problemi correlati