Twig不输出编译模板,只是回显模板文件名

时间:2014-03-07 04:09:56

标签: php wordpress templates twig

我在Wordpress环境,PHP 5.4.1和Apache。以下是我的functions.php:

require_once( get_template_directory() . '/libs/twig/lib/Twig/Autoloader.php' );
Twig_Autoloader::register();
$loader = new Twig_Loader_String( get_template_directory().'/partials/twig-templates' );
$Twig = new Twig_Environment($loader);

//doesn't work, outputs "test.html" in plain text
echo $Twig->render('test.html', array('name' => 'Cameron')); 

//this does output a compiled template, "hey Cameron"
echo $Twig->render('hey {{name}}', array('name' => 'Cameron'));

我已经验证Twig已正确加载,并且模板的文件路径是正确的。

我猜它看起来简单,我忽略了。有什么想法吗?谢谢!

1 个答案:

答案 0 :(得分:0)

您的加载程序是Twig_Loader_String,只能用于字符串输入。

对于要渲染的文件,请使用

$loader = new Twig_Loader_Filesystem('/path/to/templates');

http://twig.sensiolabs.org/doc/intro.html