Mein Modul bietet einen einfachen Block, der eine ungeordnete Liste mit einigen Bildern enthalten muss. Von einer Blockfunktion gebe ich ein renderbares Array zurück:
$block['content'] = array(
'list' => array(
'#theme' => 'item_list',
'#type' => 'ul',
'#attributes' => array('class' => 'foo1'),
'#items' => array(
/* ... what should go here? */
),
),
);
Ich möchte einige renderbare Arrays als Elemente in der Elementliste haben , aber ich kann anscheinend keine Arrays in das #items
Array einfügen .
In den API- Dokumenten zu Drupal 7 theme_item_list heißt es:
Elemente: Ein Array von Elementen, die in der Liste angezeigt werden sollen. Wenn ein Element eine Zeichenfolge ist, wird es unverändert verwendet. Wenn ein Element ein Array ist, wird das Element "data" des Arrays als Inhalt des Listenelements verwendet. Wenn ein Element ein Array mit einem "untergeordneten" Element ist, werden diese untergeordneten Elemente in einer verschachtelten Liste angezeigt. Alle anderen Elemente werden als Attribute des Listenelementelements behandelt.
Ich habe versucht, sowohl "Daten" - als auch "Kinder" -Elemente zu verwenden, aber ich erhalte entweder leere <li>
oder es ist ein Wort Array
in ihnen.
Was ist der richtige Weg, um dies zu tun? Ist theme_item_list die richtige / aktuelle Lösung?
'#items' => array('data' => 'my data')
scheint nicht wirklich mehr zu tun als'#items' => 'my data'
(siehe den Code für theme_item_list ).'children'
wird speziell zum Erstellen einer verschachtelten Liste verwendet. Ich bin mir nicht sicher, warum es so eingerichtet ist.