Twigpress:无法将变量传递给 Twig 模板
Twigpress: Can't pass variables to twig template
我正在将 Twigpress 与 Wordpress 结合使用。根据 Twigpress doc,您可以使用 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指教一个!谢谢。 :)
您必须在您的 twig 设置中启用调试。
这就是我为 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 }}
就可以了。
我正在将 Twigpress 与 Wordpress 结合使用。根据 Twigpress doc,您可以使用 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指教一个!谢谢。 :)
您必须在您的 twig 设置中启用调试。
这就是我为 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 }}
就可以了。