2013-09-21 18 views
11

Come posso eseguire l'override di un blocco all'interno di un file modello incluso?ramoscello: impossibile eseguire l'override del blocco nel file incluso

esempio:

{# layout.html #} 
{% include "menu.html" %} 

{# menu.html #} 
{% block overrideme %}{% endblock %} 

{# index.html #} 
{% extends "layout.html" %} 
{% block overrideme %}Overriden{% endblock %} 

ho letto da qualche parte che una funzione caratteristica è stata implementata? Non riesco a trovare alcuna documentazione a riguardo, qualcuno sa come potrei fare questo lavoro?

risposta

15

Se si desidera eseguire l'override dei blocchi all'interno di un file che si sta includendo, è necessario "incorporarlo" anziché "includerlo".

{% embed "menu.html" %} 
    {% block overrideme %} 
     Overriden 
    {% endblock %} 
{% endembed %} 

Vedere la documentazione per maggiori dettagli: http://twig.sensiolabs.org/doc/tags/embed.html

Problemi correlati