如何使用theme_item_list()在drupal7中实现多级列表?

时间:2012-01-06 21:10:58

标签: list drupal themes drupal-7 multi-level

我正在使用drupal 7,我想知道我是否可以使用函数theme_item_list()来实现多级列表项。如下:

  • 项目1
      test
    • 项目1.1
    • 项目1.2
    • 项目1.3
  • 第2项
    • 项目2.1
    • 项目2.2
    • 项目2.3
      • 项目2.3.1
      • 项目2.3 .2
      • 项目2.3.3
  • 第3项
  • 如果有可能,任何人都可以帮我举个例子。

    1 个答案:

    答案 0 :(得分:5)

    是的,如果您为具有子列表的每个项目传入一个包含datachildren键的数组,例如:

    $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是一个列表项数组,作为该列表项中的单独列表呈现。该函数是递归的,可以处理任意数量的级别。

    相关问题