我有一個絕對不是表單的頁面,但我需要使用一些回調函數從外部源和顯示加載數據(例如校園及其他輔助功能信息)。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