2016-11-18 118 views
1

您好:我搜遍了Drupal站点和树枝文档中的一些文档,并被卡住了。我得到的错误:将数组或JSON传递给Drupal 8树枝显示模板

User error: "foo" is an invalid render array key in Drupal\Core\Render\Element::children() (line 97 of core\lib\Drupal\Core\Render\Element.php). User error: "bar" is an invalid render array key in Drupal\Core\Render\Element::children() (line 97 of core\lib\Drupal\Core\Render\Element.php).

我想一个数组传递到树枝模板变量:

$array = array(
     "foo" => "bar", 
     "bar" => "foo", 
    ); 

$element = array(
'#theme' => 'event_formatter', 
'#events_result' => $array, 
); 

而且在.module文件中的配置是这样的:

return array(
    'event_formatter' => array(
     'variables' => array('events_result' => []), 
     'template' => 'event-formatter', 
    ), 

传递一个字符串变量似乎很好。

谢谢!

+0

在我看来,它是一个Drupal的问题,但。将任何变量传递给树枝都可以完成 – DarkBee

回答

0

您是否正在返回$元素?

下面是一个例子,从我的模块之一:

#ChallengeController 

$challengeService = $this->challengeService; 

return [ 
    '#theme' => 'my_module_challenge_list', 
    '#challenges' => $challengeService->getTrainerChallenges() 
]; 

然后

#my_module.module 
    'my_module_challenge_list' => array(
     'variables' => array('challenges' => NULL), 
    ),