Drupal菜单还是分类?

时间:2011-02-23 06:57:45

标签: drupal menu taxonomy

我有一个组织的分层列表和一个对组织执行操作的模块。我的任务是构建一个页面,其中组织的菜单树位于左侧,模块位于中心。实现这个的最佳方法是什么?

我目前的建议是以“organization / $ orgid”的形式建立链接并制作模块hook_menu()通配符。但问题是我在创建菜单项时无法指定通配符路径。

也许我应该使用分类法?

1 个答案:

答案 0 :(得分:4)

您可以对组织使用分类法并使用以下模块:

  • taxonomy_menu自动为分类树生成菜单项。
  • menu_block以不同方式呈现菜单项
  • 操纵输出的视图

使用* hook_taxonomy_menu_path *,您可以控制使用* taxonomy_menu *模块生成的菜单项使用的路径。

<?php

function mymodule_taxonomy_menu_path() {
  $output = array(
                  'mymodule_path_organizations' => t('Organization'),
                 );

  return $output;
}

function mymodule_path_organizations($vid, $tid) {
  if ($tid == 0) {
    //get all of the terms for the vocab
    $vtids = _taxonomy_menu_get_terms($vid);
    $end = implode(' ', $vtids);
    $path = "taxonomy-orgs/term/$end";
  }
  else {
    $path = 'taxonomy-orgs/term/' . $tid;
  }

  return $path;
}