2017-02-08 1 views
0

Ich muss verschiedene Basisvorlage in Zweig erweitern. Das ist möglich? ich in meinem Code verwenden dinamically Render-Vorlage mit einem Controller wie dieseWie wird die dynamische Vorlage in Twig erweitert?

{{ render(controller('AppBundle:Default:menuManager')) }} 

in diesem Controller i eine Aktion verwenden, um die richtige Vorlage zu wählen, in meine Seite, und diese Arbeit gut zu machen. Aber in diesem Fall ist das anders: ich ändere meine Grundeinstellung (also nehme ich an, sie zu erweitern, oder?), Aber ich weiß nicht, wie das geht. Etwas wie das?

{{ extends(controller('AppBundle:Default:baseManager')) }} 

Aber dieser Code funktioniert nicht. Ist möglich? Es gibt einen anderen Weg? Danke

+0

Haben Sie versucht '{{extends template_from_string (Controller ('AppBundle: Default: BaseManager'))}}'? Referenz: http://twig.sensiolabs.org/doc/2.x/functions/template_from_string.html – Yoshi

+0

Ich habe versucht und ich nehme an, dass tempalte_from_string nicht mit erweitert, sondern nur integrieren – NicolaPez

Antwort

1

Dies hängt von den Bedingungen für die Auswahl der Vorlage Basis ab, aber Sie können eine Zweig Erweiterung verwenden. Ich verwende das in einem Projekt:

{% extends app.request.host | switchBaseTemplate %} 

In diesem Beispiel verwende ich den Host für die Bedingung. Sie können dann einen Zweig Erweiterung leicht schreiben, wie hier erklärt: http://symfony.com/doc/current/templating/twig_extension.html

gute Entwickler haben.

Verwandte Themen