2016-05-26 13 views
0

Ich habe eine Zweigvorlage namens (header.html.twig), die ich in jeder Vorlage aufrufen: {% include "Bundle:Tempalte:header.html.twig" %}. Ich möchte einige Daten an diese Vorlage übergeben, ohne die render Symfony-Methode zu verwenden. Hier ist die Struktur des Aufrufs der Vorlage.So übergeben Sie Daten an eine erweiterte Zweigvorlage

Der Controller:

$this->render('index.html.twg',array()); 

Der Index Zweig Vorlage index.html.twg:

{% include "Bundle:Tempalte:header.html.twig" %}` 
    {% block code %} 
     //some html code 
    {% endblock %} 

So irgendwelche Lösungen gibt es bitte.

+0

erm, eine globale Variable auf Ihre Zweig Umgebung hinzufügen? Sie können dies in der Datei [config.yml] (http://symfony.com/doc/current/cookbook/templating/global_variables.html) tun, aber Sie sollten möglicherweise eine Erweiterung erstellen (sie befindet sich am Ende der gleiche Seite, die ich verlinkt habe) –

+0

Wie wäre es mit einem Service? Sie könnten es von Ihrer 'header.html.twig' aus aufrufen und den Dienst berechnen lassen, was Sie brauchen. –

+0

@EliasVanOotegem Danke, ich denke das sollte mir helfen zu tun was ich will. – KubiRoazhon

Antwort

1
{% include "Bundle:Template:header.html.twig" with {'foo': 'bar'} %} 

Lesen Sie die Dokumentation: http://twig.sensiolabs.org/doc/tags/include.html

+0

Ich möchte keinen statischen Wert. Und es ist nicht was ich will :). Danke – KubiRoazhon

+1

@KubiRoazhon, sicher, Sie können die Daten vom Controller an die Indexvorlage übergeben, die die Daten an die Header-Vorlage mit dem in dieser Antwort hervorgehobenen sintax übergeben werden – Matteo

+0

, aber er möchte nicht die Render-Methode verwenden :) Also, ein Service sollte das Ding machen – Kvn91

Verwandte Themen