Drupal uses a particular format for displaying all the lists (ul and ol) throughout the site. You can buid your own list using the Drupal theme function "theme_item_list". Here is the code for creating a custom list or nested list of items.
$title = t('My List');
$type = 'ul';
// The type of list to return (e.g. "ul", "ol").
$attributes = array(
'id' => 'my-list',
'class' => 'custom-class another-custom-class',
);
$items = array(
'0' => array(
'data' => 'Item 1',
'id' => 'item_1',
'class' => array('item-1')
),
'1' => array(
'data' => 'Item 2',
'id' => 'item_2',
'class' => array('item-2'),
'children' => array(
'0' => array(
'data' => 'Sub Item 1',
'id' => 'sub_1',
'class' => array('sub-item-1')
),
'1' => array(
'data' => 'Sub Item 2',
'id' => 'sub_2',
'class' => array('sub-item-2')
),
),
),
'2' => array(
'data' => 'Item 3',
'id' => 'item_3',
'class' => array('item-3')
),
);
return theme_item_list(array(
'items' => $items,
'title' => $title,
'type' => $type,
'attributes' => $attributes
));
The Output will look like this:
<div class="item-list"> <h3>My List</h3> <ul class="custom-class another-custom-class" id="my-list"> <li class="item-1 first" id="item_1">Item 1</li> <li class="item-2" id="item_2">Item 2</li> <div class="item-list"> <ul class="item-2" id="item_2"> <li class="sub-item-1 first" id="sub_1">SubItem 1</li> <li class="sub-item-2 last" id="sub_2">SubItem 2</li> </ul> </div> </li> <li class="item-3 last" id="item_3">Item 3</li> </ul> </div>
You can override "theme_item_list" in your template.php file to remove/change the class "item-list".
