Twigpress:无法将变量传递给twig模板

时间:2015-07-10 11:30:29

标签: wordpress twig

我在WordPress上使用Twigpress。根据{{​​3}},您可以使用 twigpress_render_twig_template($ vals = array(),$ template = false,$ echo = true)将变量传递给模板。

我尝试使用以下代码将变量传递给模板,但它不起作用。我做错了什么?

single.php中:

$vals = array( 'foo' => 'bar' );
twigpress_render_twig_template($vals);

single.twig:

{{ vals.foo }} # Does not print anything #
{{ foo }} # Same #
{{ dump(vals) }} # Prints 'null' #

请指教一个n00b!谢谢。 :)

1 个答案:

答案 0 :(得分:1)

您必须在树枝设置中启用调试。

这是我为Twig初始化做的。我把它放在一个单独的文件调用twig-init.phprequire_once,我需要使用twig。

$loader = new Twig_Loader_Filesystem('/blah/twig/templates');
$settings = array(
    'cache' => '/blah/twig/compiled',
    'debug' => true
);
$twig = new Twig_Environment($loader, $settings);

if ($settings['debug'])
    $twig->addExtension(new Twig_Extension_Debug());

当您转储它时,您可以执行{{ dump() }}转储所有内容。

此外,您可能需要通过_context访问您的数组值。尝试{{ dump(_context['foo']) }}

如果您确实想通过vals访问变量,则需要对数组执行以下操作:

$blah = array('vals' => array('foo' => 'bar'));

然后{{ vals.foo }}将有效。

请参阅:http://twig.sensiolabs.org/doc/functions/dump.html