如何为Twig模板指定两个位置?

时间:2014-09-22 12:48:09

标签: php html templates twig

我为每个组件(即页面)创建了一个单独的目录。

/var/www/components/component_1/
/var/www/components/component_2/
/var/www/components/component_3/

在每个目录中,我有一个控制器,一个模型和一个Twig模板。可能位于/var/www/components/component_2/templates/myTemp.html的典型模板如下所示:

{% extends "base.html" %}

bla bla bla

我有几个基本模板。与子模板不同,我希望这些模板位于/var/www/templates/

如何在扩展Twig模板时指定两个位置?

1 个答案:

答案 0 :(得分:3)

请看一下Twig Loader Filesystem http://twig.sensiolabs.org/doc/api.html#twig-loader-filesystem

所以可以这样做:

$loader = new Twig_Loader_Filesystem(array('/var/www/components/component_1/templates', '/var/www/templates'));
$twig = new Twig_Environment($loader);

echo $twig->render('Hello {{ name }}!', array('name' => 'Fabien'));