DRUPAL6中定义hook_menu参数的方法

本文实例讲述了DRUPAL6中定义hook_menu参数的方法。分享给大家供大家参考。具体分析如下:

hook_menu()函数位于 developer/hooks/core.php ,第928 行

描述:确定菜单项和页回调。
这钩子,使模块登记的路径,它决定了他们的要求是要处理。视乎有关的注册类型所要求的每个路径,一个链接被放置在导航座和/或一个项目会出现在菜单上(q=admin/menu).
这个钩子很少调用-例如,当模块启用。
“title” :要求。该翻译的标题菜单项。
“description” :翻译描述的菜单项。
“page callback” :函数调用来显示一个网页,当用户访问的路径。如果省略,父菜单项的回调将被用于代替。
“page arguments”: 一个数组的论据通过该网页的回调函数。整数价值观,通过相应的网址组成(见arg()).
“access callback”: 一个函数返回一个布尔值,决定用户是否有访问权限,这菜单项。默认为user_access ( ) ,除非值是继承自父菜单项..
“access arguments”:一个数组的论据传递给进入回调函数。整数价值观,通过相应的URL的组成部分。
“weight”: 一个整数,决定了相对位置的项目在菜单中;较高的加权项目下沉。默认为0 。如有疑问,离开这个单;默认按字母顺序排列通常是最好的。
“type”: 一个位掩码的旗帜描述性能的菜单项。许多位掩码是menu.inc 提供的常量;

。menu_normal_item :正常的菜单项显示在菜单中树和可移动/隐藏管理员。
。menu_callback :回调只需注册一个路径,使正确的功能是发射时的网址是访问。
。menu_suggested_item :模块的名称可能“建议”菜单项管理员可以启用.
。menu_local_task :当地的任务是提供作为标签,默认情况下。
。menu_default_local_task :每一套本地的任务应提供一个“默认”的任务,链接到相同的路径,作为其母公司当按下。

如果“类型” ,关键是省略, menu_normal_item是假设。
一项详细的使用范例,请参阅page_example.module 。
为全面的文件目录系统,可参见官网:http://drupal.org/node/102338 。

返回值
一个数组的菜单项。每个菜单项有一个键对应到drupal路径被注册。该项目是一个关联数组可能包含以下关键值对:

相关主题
名称 描述
Hooks 让模块互动与drupal的核心。
代码:

<?php
function hook_menu() {
$items = array();</p> <p>$items['blog'] = array(
'title' => 'blogs',
'page callback' => 'blog_page',
'access arguments' => array('access content'),
'type' => MENU_SUGGESTED_ITEM,
);
$items['blog/feed'] = array(
'title' => t('RSS feed'),
'page callback' => 'blog_feed',
'access arguments' => array('access content'),
'type' => MENU_CALLBACK,
);
return $items;
}
?>

例如:

<?php
function product_menu() {
//$items['访问路径']:path:http://www.abc.com/path 访问路径
// 二级路径 $it['path1/path2']
$items['product'] = array(
//title 菜单标题
'title' => '产品目录@name', //如果t('')可对其进行翻译
'title arguments' => array('@name'=>''),// 传入参数给t函数 参数必须是字符串,如果是3 要写成 =>'3'
// page callback 回调 函数 product_page_last
'page callback' => 'product_page_last',
// 访问菜单的权限设置
// 访问权限函数回调 uses_access ,然后才根据access arguments 传入的 view product 参数给user_access 来判断访问权限
// 如果不写access_callback 直接用access_arguments => array('access content') 就是继承了node模板的默认权限属性
//'access callback' => 'user_access',
'access arguments' => array('view product'),
//
//MENU_NORMAL_ITEM:正常菜单系统,在菜单树上显示,管理员可以在后台移动和隐藏菜单操作
//

'type' => MENU_SUGGESTED_ITEM,
'file' => 'product.pages.inc', // 要访问的自定义函数文件
);
return $items;
}
?>

drupal6的menu里面中,title_callback用法和page callback一样
”page arguments”: 一个数组的论据通过该网页的回调函数。整数价值观,通过相应的网址组成(见arg())..
”access arguments”:一个数组的论据传递给进入回调函数。整数价值观,通过相应的URL的组成部分。

希望本文所述对大家的drupal建站有所帮助。