从page.tpl drupal 7中的特定词汇打印术语

时间:2011-01-30 03:09:56

标签: drupal-7

我以前有一个函数可以通过在drupal 6中加载特定词汇中的所有术语来创建自定义菜单:

function _taxonomy_top_links($vid = NULL) {
  $terms = taxonomy_get_tree($vid);

  $taxos = array();
  foreach ($terms as $term) {
    $taxos[] = array('title' => $term->name, 'taxonomy/term/' . $term->tid, 'attributes' => array('rel' => 'tag', 'title' => strip_tags($term->description)));
  }
  return theme('links', $taxos, array('id' => 'menu-'. $vid, 'class' => 'menu clearfix'));
}

这在drupal 7中不起作用,我猜这与新的字段api有关。如何从特定词汇中获取所有术语以在页面级别进行预处理?

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您的大部分代码实际上都应该正常工作,这是主题部分不正确。

$terms = taxonomy_get_tree($vid, 0, NULL, TRUE);

$links = array();
foreach ($terms as $term) {
  $uri = entity_uri('taxonomy_term', $term);
  $link = array(
    'title' => $term->name,
    'href' => $uri['path'],
    'attributes' => array('rel' => 'tag'),
  );
  $link += $uri['options'];
  if (!empty($term->description)) {
    $link['title'] = strip_tags($term->description);
  }
  $links['tid-' . $term->tid] = $link;
}

$variables = array(
  'links' => $links,
  'attributes' => array(
    'id' => 'menu-' . $vid,
    'class' => array('menu', 'clearfix'),
  ),
);

return theme('links', $variables);