是否有可能包括與{% include %}
模板是從外模板路徑與定義:Twig-從其他目錄包含模板
$template = $twig->loadTemplate('example.tpl');
我問它,因爲這條線不工作:
{% include '.../example/navbar_left.tpl' %}
是否有可能包括與{% include %}
模板是從外模板路徑與定義:Twig-從其他目錄包含模板
$template = $twig->loadTemplate('example.tpl');
我問它,因爲這條線不工作:
{% include '.../example/navbar_left.tpl' %}
不,使用Twig_Loader_Filesystem
是不可能的,因爲它明確地拒絕裏面有..
的模板名稱。這裏面的文件Twig/lib/Twig/Loader/Filesystem.php
被驗證到的功能validateName($name)
定義。
唯一干淨的解決方案,我能想到的,如果你需要訪問路徑之外的模板,是create your own loader。
一種解決方法,做的工作,是界定實際上Twig_Loader_Filesystem
註冊的文件夾中的符號鏈接,指向您要訪問的目錄。要小心用這種方法,該鏈接指向一個安全的地方。
您可以將路徑添加到樹枝裝載機(文件系統加載器) 看到法比安斯基最後答覆(讓addpath方法是你所需要的) https://github.com/symfony/symfony/issues/1912
是在/ app /目錄'include'的範圍之外? –