Drupal/Drupal hook menu菜单系统的简单实践
查看全部词条命名空间:Main
模板:Drupal top 本条目主要是drupal菜单系统(menu)的简单应用。下面是产品类型的代码,比较简单。在开发product类型的时候,后台已经启用了简洁衔接模式,输入域名/product 发现没有找到,最后发现用menu 菜单来解决这个问题。比如想打开所有product下面的产品信息。然后分页显示。下面具体的实例就是实现了这样的功能,通过menu,然后再加上一个函数product_page_last(此函数放在product.pages.inc'文件里面。
<?php
function product_menu() {
//$items['访问路径']:path:http://www.abc.com/path 访问路径
// 二级路径 $it['path1/path2']
$items['product'] = array(
//title 菜单标题
'title' => '产品目录@name', //在menu里不要使用t('')
'title callback' => 't', //回调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', // 要访问的自定义函数文件
);
/*
$items['test'] = array(
'title' => 'test',
'page callback' => 'product_loadfiles',
'access arguments' => array('view product'),
//'type' => MENU_SUGGESTED_ITEM,
);
*/
return $items;
}
?>
总结
drupal菜单,主要包括菜单的标题,你可以为菜单标题去传入一个参数,可以调用你设定的函数。对于菜单page来说,也可以为它定义参数,和表现的形式。这些都可以自定义函数调用来实现。
这个菜单主要作用是浏览product 类型页面,然后出现所有的产品列表。