Drupal/Drupal hook menu菜单系统的简单实践
来自站长百科
模板: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 类型页面,然后出现所有的产品列表。