我有一个绝对不是表单的页面,但我需要使用一些回调函数从外部源和显示加载数据(例如校园及其他辅助功能信息)。Drupal模块开发hook_menu()对于半静态页面
我需要的是一个登陆列表页面(列出所有建筑物)和一个'查看个人建筑物'页面。另外,我还有一个页面,您可以在其中输入学生证并查看测试程序信息。最后我有一个基本上是一个表格的页面(我以前成功完成了这个页面)。
现在,我HAD建设清单工作,但我做了一个小的改变,它停止工作!
目前我hook_menu()函数看起来如下:
<?php
/**
* Implementation of hook_menu()
*/
function disability_menu()
{
$items = array();
// Ignore me, shell
$items['quickreg'] = array(
'title' => 'Quick Registration',
'description' => t(''),
'page callback' => 'drupal_get_form',
'page arguments' => array(),
'file' => 'disability.quickreg.view.inc',
'access arguments' => array('access quick registration system'),
'type' => MENU_SUGGESTED_ITEM,
);
$items['tests/status'] = array(
'title' => 'Test Status Results',
'description' => t('Check on the status of your tests'),
'page callback' => 'disability_view_testing_status',
'page arguments' => array(),
'file' => 'disability.tests.view.inc',
'access arguments' => array('access test check information'),
'type' => MENU_CALLBACK,
);
$items['tests'] = array(
'title' => 'Testing Services',
'description' => t('Check on the status of your tests'),
'page callback' => 'disability_view_testing',
'page arguments' => array(),
'file' => 'disability.tests.view.inc',
'access arguments' => array('access test check information'),
'type' => MENU_SUGGESTED_ITEM,
);
$items['access/%building'] = array(
'title' => 'Campus Accessibility Guide',
'description' => t('A summary list of detailed accessibliity information about each building on the A&M campus'),
'page callback' => 'disability_view_access',
'page arguments' => array(1),
'file' => 'disability.access.view.inc',
'access arguments' => array('access building access information'),
'type' => MENU_SUGGESTED_ITEM,
);
return $items;
}
一些变化之前,我必须做出的菜单项“校园无障碍指南”会显示正确(被启用,当然后)。该/access
网址将正常运行,显示所有建筑物的列表和/access/12345
会正确显示的ID#单个记录现在12345
的access/%building
菜单项甚至没有显示出来,甚至发送URL /access
到重定向循环(让我觉得它传递这个ID将它发送到视图特定函数,当ID不存在时重定向到/access
)。
任何人都可以告诉我我做错了什么或我需要做什么来支持2个主题页:/access
和/access/%building
url模式?
你还有'building_load()'函数来填充'%building'吗? – ceejayoz 2009-08-10 21:20:49
@ceejayoz我没有'building_load()'函数,因为我只是在回调函数中加载它。如果我将它放到'%'或创建'building_load()'会更好吗? – dcousineau 2009-08-10 21:57:44