Meu módulo fornece um bloco simples que precisa conter uma lista não ordenada com algumas imagens. De uma função de bloco, estou retornando uma matriz renderizável:
$block['content'] = array(
'list' => array(
'#theme' => 'item_list',
'#type' => 'ul',
'#attributes' => array('class' => 'foo1'),
'#items' => array(
/* ... what should go here? */
),
),
);
Gostaria de ter algumas matrizes renderizáveis como itens na lista de itens, mas parece que não consigo inserir nenhuma matriz na #items
matriz.
Os documentos da API theme_item_list do Drupal 7 dizem:
itens: uma matriz de itens a serem exibidos na lista. Se um item for uma string, ele será usado como está. Se um item é uma matriz, o elemento "data" da matriz é usado como o conteúdo do item da lista. Se um item for uma matriz com um elemento "filhos", esses filhos serão exibidos em uma lista aninhada. Todos os outros elementos são tratados como atributos do elemento do item da lista.
Tentei usar os elementos "data" e "children", mas fico vazio <li>
ou há uma palavra Array
dentro deles.
Qual é a maneira correta de fazer isso? Theme_item_list é a solução correta / atualizada?
'#items' => array('data' => 'my data')
parece realmente não fazer nada além de'#items' => 'my data'
(veja o código para theme_item_list ).'children'
é usado especificamente para criar uma lista aninhada. Não sei por que está configurado dessa maneira.