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)。。。但是没有