2015-07-10 67 views
1

我正在使用Twigpress與Wordpress。根據Twigpress doc,您可以將變量傳遞到模板twigpress_render_twig_template($ vals = array(),$ template = false,$ echo = true)Twigpress:不能將變量傳遞給樹枝模板

我想通過下面的代碼將變量傳遞給模板,但它不起作用。我究竟做錯了什麼?

的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

你必須在你的樹枝設置中啓用調試。

這就是我爲我的Twig初始化做的。我把它放在一個單獨的文件中,調用twig-init.php,只需要require_once,我需要使用樹枝。

$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

相關問題