0

我正在尝试在 hook_block_view 函数中创建一个带有 theme_item_list 的列表。

$items = array();
$items[] = array('data' => l('Training', 'training'));
$items[] = array('data' => l('Publications', 'publications'));
$items[] = array('data' => l('Conferences', 'conferences'));
$items[] = array('data' => l('Information service', 'information-service'));
$block['content'] = theme('item_list', array('items' => $items), NULL, 'ul', array('id' => 'contact-us'));

我希望输出为:

<ul id='contact-us'>
    <li><a href='/training>Training</a></li>
    ...

但是返回输出时缺少该类:

<ul>
    <li><a href='/training>Training</a></li>
    ...

我想我已经准确地遵循了 drupal.org 上的示例,但它不起作用?谢谢。

4

2 回答 2

1

解决方案:

我收到的评论让我相信 Drupal 7 中的功能与以前版本中的功能不同。看来我正在查看版本 6 的示例。这适用于 7:

array(
  'list' => array(
    '#theme' => 'item_list',
    '#type' => 'ul',
    '#attributes' => array('id' => 'contact-us'),
    '#items' => array(                  
      'item_1' => l('Training', 'training'),
      'item_2' => l('Publications', 'publications'),
      'item_3' => l('Conferences', 'conferences'),
      'item_4' => l('Information service', 'information-service')
    ),
  ),
);
于 2013-02-12T19:00:40.143 回答
0

这将适用于drupal 6

$block['content'] = theme_item_list($items , $title = NULL, $type = 'ul', $attributes = array('id' => 'contact-us') ) ;

请注意,您可以将任何有效属性添加到 $attributes 数组()。

drupal 6上的工作示例:

$block['content'] = theme_item_list($items , $title = NULL, $type = 'ul', $attributes = Array( 'id' => 'contact-us', 'class' => 'some-class', 'style' => 'color:red')) ;

文档:https ://api.drupal.org/api/drupal/includes!theme.inc/function/theme_item_list/6

于 2014-01-03T11:18:03.153 回答