drupal hook_menu和添加一个新页面

ref: http://drupal.org/node/206764

drupal模块中的hook格式为<module>_<hookname>,比如说hook_menu在你自己开发的module中就是<yourModuleName>_menu。

这个函数为你添加的每个页面指定了一个标题,回调函数以及谁能访问:比如下面的这个例子:
  $items[‘onthisdate’] = array(
    ‘title’ => ‘On this date’,
    ‘page callback’ => ‘onthisdate_all’,
    ‘access arguments’ => array(‘access onthisdate content’),
    ‘type’ => MENU_CALLBACK
  );

这个例子中,定义了一个页面的路径为onthisdate(http://yourdrupalroot.com/onthisdate),显示这个页面的函数为onthisdate_all,该页面的标题为“On this date”,同时定义了access列表。同时type为MENU_CALLBACK表示这里只是定义了一个页面路径而不需要在页面上显示该菜单按钮。

因此如果,你的函数onthisdate_all有如下的定义
function onthisdate_all()
{
 return “<p>Hello world</p>”;
}
那么页面http://yourdrupalroot.com/onthisdate 将会调用上面这个函数显示hello world。如是,在任一module中,你可以以任意的方式来定义页面。

这里需要进一步弄清楚的是,如果要在页面的某个特定位置显示一个东西,应该怎么做。似乎在模块声明中已经有region的声明,估计这个跟它有关。

至少目前清楚的是怎么添加一个页面到drupal中。路径加回调函数就可以。可进一步看看menu钩子。



本文地址: http://www.bagualu.net/wordpress/archives/1050 转载请注明




发表评论

电子邮件地址不会被公开。 必填项已用*标注