Auch für den nicht-twig-Datei von twig
Ich brauche, um den Inhalt einer Datei (in meinem Ordner "resources") in einem Twig-template.
Ich haben versucht, dies ohne Glück:
{% include 'public/directory/file.ext' %}
Nicht Zweig, der zu so etwas fähig? (Ich will nicht von Assetic)
Du musst angemeldet sein, um einen Kommentar abzugeben.
Machte ich einen bundle nur für diese vor einiger Zeit. Es ist ziemlich viel ein wrapper für
file_get_contents
.Setup gefunden werden kann hier.
http://twig.sensiolabs.org/doc/functions/source.html
Zweig beschweren, wenn Sie laden Sie Ihre Datei, wenn es nicht eine gültige twig-template. Der Grund dafür ist, dass Twig wird, enthält die gerenderte Datei und nicht den Inhalt (gefunden hier).
Könnten Sie versuchen, mit einem
use
statement, aber ich glaube nicht, dass dies funktioniert entweder.Außerdem, die syntax, die Sie verwenden, scheint nicht korrekt zu sein. Wenn ich (oder nutzen) anderer Zweig Vorlage, die ich verwenden Sie diese syntax:
Und die Datei
include.html.twig
resideds insrc\Acme\WebsiteBundle\Resources\views\include.html.twig
. Also, wenn Sie Ihre Datei ist insrc\Acme\WebsiteBundle\Resources\public\directory\include.ext
sind, könnten Sie versuchenWenn das nicht funktioniert, Sie könnte möglicherweise verschieben die Datei in den Ordner sichten. Wenn dies nicht möglich ist, können Sie possibliy setzen in
app\Resources\views\
und verwenden Sie die syntax:Wenn die use-Anweisung funktioniert nicht, ich bin Angst, Sie könnte möglicherweise wickeln Sie Ihre Datei in ein twig-template direkt. Ich bin templating einige einfache JSON-Strukturen mit Zweig. Also, es kann ein Weg für Sie, um den Inhalt des
file.ext
in einem twig-template und dann Rendern.Wenn alle diese scheitern, werden Sie haben, um eine Zweig-Erweiterung, die einen neuen tag (etwas wie
content
), die eine Datei Lesen und die Ausgabe Ihrer Inhalte in Ihrem twig-template.Hoffe, dies wird Ihnen helfen, um Ihre Datei.
Grüße,
Matt
Lösen können Sie dieses problem mit twig Erweiterung Funktionen. ( http://symfony.com/doc/current/cookbook/templating/twig_extension.html )
Erstellen Sie eine php-Datei in Ihrem Bundle für die Twig Erweiterung
Fügen Sie diesen code in der app/config/services.yml
Jetzt können Sie Ihre benutzerdefinierte Funktion wie jede Standard-Funktion in der twig template