我在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!谢谢。 :)
答案 0 :(得分:1)
您必须在树枝设置中启用调试。
这是我为Twig初始化做的。我把它放在一个单独的文件调用twig-init.php
和require_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 }}
将有效。