2016-11-18 86 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), 
    ),