Как я могу реализовать многоуровневый список в drupal7 с theme_item_list ()? - PullRequest
2 голосов
/ 07 января 2012

Я использую drupal 7, я хотел бы знать, могу ли я использовать функцию theme_item_list () для реализации многоуровневых элементов списка.Как показано ниже:

Элемент 1
  • Элемент 1.1
  • Элемент 1.2
  • Элемент 1.3
Элемент 2
  • Позиция 2.1
  • Позиция 2.2
  • Позиция 2.3
    • Позиция 2.3.1
    • Позиция 2.3.2
    • Пункт 2.3.3
Пункт 3

Если возможно, кто-нибудь может мне помочь с примером.

1 Ответ

5 голосов
/ 07 января 2012

Да, это возможно, если вы передадите массив с ключами data и children для каждого элемента, который имеет подсписок, например:

$items = array(
  array(
    'data' => 'Item 1',
    'children' => array(
      array(
        'data' => 'Item 1.1',
        'children' => array(
          'Item 1.1.1',
          'Item 1.1.2'
        )
      ),
      array(
        'data' => 'Item 1.2',
        'children' => array(
          'Item 1.2.1',
          'Item 1.2.2'
        )
      )
    )
  ),
  array(
    'data' => 'Item 2',
    'children' => array(
      // etc...
    )
  )
);

$output = theme('item_list', array('items' => $items));

Клавиша data представляет содержимое элемента списка, children - это массив элементов списка, которые будут отображаться как отдельный список в этом элементе списка. Функция является рекурсивной и может обрабатывать любое количество уровней.

...