hook_menu 的实现(1)
Drupal的菜单系统非常强大,但是有些复杂。菜单系统维护的是许多个访问路径(path)到回调函数(callback)的映射。在数据库中有专门的一张表来保存这个映射关系,名字叫menu_router。我们可以通过实现hook_menu()来增加菜单。 现在我们写一个模块(Module)来实现这个hook。首先我们在sites/all/module/custom下创建一个文件夹叫mymenu,如果上述路径不存在的话就自己创建一下。然后分别创建两个文件,一个文件叫做mymenu.info,另外一个叫mymenu.module。
mymenu.info里面的代码如下:
name = My Menu description = Create my own menu. package = Tutorial version = 6.x-1.0 core = 6.x
mymenu.module里面的代码如下:
<?php
/**
* Implemetation of hook_menu().
*/
function mymenu_menu() {
$items['mymenu'] = array(
'title' => t('My Menu'),
'page callback' => 'mymenu_page',
'access arguments' => array('access content')
);
return $items;
}
?>保存文件之后访问模块管理页面,就可以看我们刚才新建的模块My Menu。.jpg)
开启这个模块点击保存后,在左边的导航菜单上已经有我们自己写的菜单了。先不要着急去点这个菜单,因为我们并没有为这个菜单指定回调函数,点击菜单之后只会返回一个空白页面。现在先让我们来详细的说明一下代码的含义,函数mymenu_menu就是实现hook_menu的函数,前面的mymenu是模块的名字,后面的menu是我们要实现的hook。数组变量item保存的就是菜单,数组中的每一个值对应的就是一个菜单。数组中元素的key对应的就是菜单的路径,比如说我们写的$items['mymenu']其中mymenu就是路径,title就是菜单的标题,page callback就是当前菜单的回调函数,access arguments是对当前菜单的访问权限的控制,这个我们后面会详细说明。现在我们要为我们的菜单添加一个回调函数。在文件mymenu.module里加入下面的代码:
function mymenu_page() {
return 'test page';
}
现在我们点击菜单,就会返回下面的页面。
函数mymenu_page()作为我们菜单的回调函数,它的返回值就是页面的内容。它上面的标题就是我们之前设定的title值。这样我们就完成了一个简单的hook_menu。
(转载请注明出处,谢谢) http://www.drupalbar.com/node/15

评论
有教程了?自己写的吗?加油哈!
努力学习....
我的博客
我的6.8怎么按照你这样操在,模块管理界面找不到mymenu。何解?
不好意思,回复有些晚了。
没有找到模块,首先要检查一下那两个文件的名字和里面的一些设定。
我一会会上传我的文件你下载后试一下。
例子举得很好啊,能够用得上
没有不可能的事,只有你全心投入了,当然不排除白痴等外星人
你好,站长,你能详细讲解哈,区块,模块,菜单的区别 吗??谢谢,我刚刚才学,貌似不是很清楚。。
希望你能看到,我的留言。。。
supply in stock and custom lace front wigs, full lace wigs, lace wigs, human hair wigs,
remy lace front wigs, cheap wigs, cheap, buy, celebrity
full lace wigs
lace wigs
lace wigs sale
lace front wigs
synthetic front lace wigs
A Famous Dresses Shop which sell directly Wedding Dresses, Evening Dress, Bridesmaid Dresses,Prom dresses
cheap wedding dresses
cheap evening dresses
cheap prom dresses
cheap evening dresses
cheap prom dresses
Elegant evening dresses are always associated with the brides and their bridesmaids.Shopping for evening dresses and your wedding dress in stylish bridal ..
The Lingerie Store,The lingerie and nightwear SALE at Style Lingerie. All lingerie sale garments marked 30% to 70% off.
Sexy lingerie, ladies underwear and designer nightwear
lingeri shop
Bridal lingerie
sexy lingerie
Lingerie, sleepwear and intimate apparel is our specialty, ranging from sexy lingerie to bridal lingerie,
including corset, bras, thongs and stockings.
lingerie sale
canon thermos travel mug,canon lens 24-105 mug,canon lens 70-200 mug
mugs shop
Canno Lens Mug
Canno Lens Coffee Mug
Nikon Lens Coffee Mug
Lens Coffee Mug
Canno Lens Coffee Mug, Ceramic Mugs,Nikon Lens mugs,canon thermos travel.Best Discount Mugs provider.