Drupal:如何用钩子修改菜单项?

时间:2010-05-04 06:08:53

标签: php drupal hook

我需要将网址'user / 7 / orders'添加到特定菜单中。因为这需要PHP用于UID(7),如何编写脚本以将项目添加到特定菜单?

2 个答案:

答案 0 :(得分:2)

您可以使用菜单挂钩。

假设您的网站上有自己的自定义模块,这应该可行 -

function custom_menu() {
  $items = array();
  $items['user/7/orders'] = array(
    'title' => 'My Orders',
    'page callback' => 'custom_order_callback', 
    'access callback' => user_access('access content'), // You can change this
    'type' => MENU_LOCAL_TASK
  }
  return $items;
}

如果您希望为所有用户显示“订单”标签,可以使用上面的$items['user/%/orders']获取页面参数以准备数据。

对于菜单类型,您可以使用MENU_CALLBACK,MENU_LOCAL_TASK或MENU_DEFAULT_LOCAL_TASK。检查here,看看它们有何不同。

答案 1 :(得分:1)

不确定我是否正确理解您的问题,但如果您需要为每个用户及其订单添加该菜单,您可以使用Me模块(http://drupal.org/project/me)然后创建一个链接到“用户”的菜单项/ ME /订单”。