Twig 如何将变量从控制器打印到布局?
控制器:Twig 如何将变量从控制器打印到布局?,twig,drupal-8,Twig,Drupal 8,控制器: public function content() { return array( '#theme' => 'test', '#varTest' => 'toto' ); } 模块主题挂钩: function test_theme($existing, $type, $theme, $path) { return [ 'test' => [ 'variables' =>
public function content() {
return array(
'#theme' => 'test',
'#varTest' => 'toto'
);
}
模块主题挂钩:
function test_theme($existing, $type, $theme, $path) {
return [
'test' => [
'variables' => ['varTest' => 'defaultVal']
]
];
}
布局html.html.twig:
<html>
<head>
{{ varTest }}
{{varTest}}
如果我在布局中打印变量,varTest为null。如果我在模板“test”中打印变量varTest='toto'
为什么Layout不打印“toto”或“defaultVal”?您试图在错误的模板文件中呈现变量。您注册了test_主题,因此您的文件应该是test.html.twig,而不是html.html.twigvarTest显示在继承html.html.twig的模板test.html.twig中,但此布局也应该能够显示(以及symfony real framework)。。。但是没有