2012-10-22 94 views
5

是否有可能包括與{% include %}模板是從外模板路徑與定義:Twig-從其他目錄包含模板

$template = $twig->loadTemplate('example.tpl'); 

我問它,因爲這條線不工作:

{% include '.../example/navbar_left.tpl' %} 

回答

3

不,使用Twig_Loader_Filesystem是不可能的,因爲它明確地拒絕裏面有..的模板名稱。這裏面的文件Twig/lib/Twig/Loader/Filesystem.php被驗證到的功能validateName($name)定義。

唯一干淨的解決方案,我能想到的,如果你需要訪問路徑之外的模板,是create your own loader

一種解決方法,做的工作,是界定實際上Twig_Loader_Filesystem註冊的文件夾中的符號鏈接,指向您要訪問的目錄。要小心用這種方法,該鏈接指向一個安全的地方。

+0

是在/ app /目錄'include'的範圍之外? –

相關問題