私のモジュールは、いくつかの画像を含む順不同リストを含める必要がある単純なブロックを提供します。ブロック関数から、レンダリング可能な配列を返します:
$block['content'] = array(
'list' => array(
'#theme' => 'item_list',
'#type' => 'ul',
'#attributes' => array('class' => 'foo1'),
'#items' => array(
/* ... what should go here? */
),
),
);
いくつかのレンダリング可能な配列を項目リストの項目として使用したいのですが、#items
配列を配列に挿入できません。
Drupalの7 theme_item_list APIのドキュメントは言います:
items:リストに表示される項目の配列。アイテムが文字列の場合は、そのまま使用されます。項目が配列の場合、配列の「データ」要素がリスト項目のコンテンツとして使用されます。アイテムが「子」要素を持つ配列の場合、それらの子はネストされたリストに表示されます。他のすべての要素は、リスト項目要素の属性として扱われます。
「data」要素と「children」要素の両方を使用してみましたが、空<li>
のが表示されるか、Array
その中に単語が含まれています。
これを行う適切な方法は何ですか?theme_item_listは正しい/最新のソリューションですか?
'#items' => array('data' => 'my data')
'#items' => 'my data'
(theme_item_listのコードを見てください)実際には何も実行しないようです。'children'
ネストされたリストを作成するために特に使用されます。なぜこのように設定されているのかわかりません。