0
這有點複雜的解釋。我的使用情況如下:Twig基於路徑的重載
比方說,我有以下文件系統結構:
/client/name/web/dashboard.twig <- extends dashboard.twig - file might not exist
/app/name/web/dashboard.twig <- extends dashboard.twig - file might not exist
/web/dashboard.twig <- extends layout.twig - file always exists
/web/layout.twig <- the base template - file always exists
假設我跑$twig->render('dashboard.twig');
,我希望它開始與最上面dashboard.twig
,繼續作爲順序去上面指定的順序。
目前的問題是,小枝最後會在無限循環中試圖每次加載第一個模板文件。 在the recipes section中,有一個例子可以避免使用路徑。這不能在我的情況下工作,因爲的幾個問題:
- 的
/client/name/web/dashboard.twig
的開發商不應該知道/app/name/web/dashboard.twig
文件。 - 仍然無法識別
name
路徑段,因此路徑概念無法工作。
我能想到的唯一解決方案是以某種方式插入樹枝並告訴它在加載後立即「彈出」模板文件,以消除無限循環。
API文檔的這一部分似乎有用:http://twig.sensiolabs.org/api/master/Twig_Loader_Filesystem.html