Mon module fournit un bloc simple qui doit contenir une liste non ordonnée avec quelques images. À partir d'une fonction de bloc, je renvoie un tableau pouvant être rendu:
$block['content'] = array(
'list' => array(
'#theme' => 'item_list',
'#type' => 'ul',
'#attributes' => array('class' => 'foo1'),
'#items' => array(
/* ... what should go here? */
),
),
);
Je voudrais avoir des tableaux rendables en tant qu'éléments dans la liste des éléments, mais il semble que je ne puisse pas insérer de tableaux dans le #items
tableau.
La documentation de l'API theme_item_list de Drupal 7 indique:
éléments: un tableau d'éléments à afficher dans la liste. Si un élément est une chaîne, il est utilisé tel quel. Si un élément est un tableau, l'élément "data" du tableau est utilisé comme contenu de l'élément de liste. Si un élément est un tableau avec un élément "enfants", ces enfants sont affichés dans une liste imbriquée. Tous les autres éléments sont traités comme des attributs de l'élément d'élément de liste.
J'ai essayé d'utiliser à la fois les éléments "data" et "children", mais j'obtiens des vides <li>
ou il y a un mot à l' Array
intérieur.
Quelle est la bonne façon de procéder? Theme_item_list est-il la bonne solution / à jour?
'#items' => array('data' => 'my data')
ne semble pas vraiment faire plus que'#items' => 'my data'
(regardez le code de theme_item_list ).'children'
est utilisé spécifiquement pour créer une liste imbriquée. Je ne sais pas pourquoi il est configuré de cette façon.