Мой модуль предоставляет простой блок, который должен содержать неупорядоченный список с некоторыми изображениями. Из функции блока я возвращаю рендеринг массив:
$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 Docs говорит:
items: массив элементов для отображения в списке. Если элемент является строкой, то он используется как есть. Если элемент является массивом, то элемент «массив» данных используется в качестве содержимого элемента списка. Если элемент является массивом с элементом «children», эти дочерние элементы отображаются во вложенном списке. Все остальные элементы рассматриваются как атрибуты элемента элемента списка.
Я пытался использовать элементы «data» и «children», но я получаю либо пустые элементы, либо внутри них <li>
есть слово Array
.
Как правильно это сделать? Является ли theme_item_list правильным / актуальным решением?
'#items' => array('data' => 'my data')
кажется, на самом деле ничего не делает больше, чем'#items' => 'my data'
(посмотрите на код для theme_item_list ).'children'
используется специально для создания вложенного списка. Я не уверен, почему это настроено так.