簡體   English   中英

Drupal模塊開發hook_menu()用於半靜態頁面

[英]Drupal Module Development hook_menu() For Semi Static Pages

我的頁面絕對不是表單,但是我需要使用一些回調函數來從外部源加載數據並顯示(例如,校園中的建築物列表及其可訪問性信息)。

我需要的是登陸列表頁面(列出所有建築物)和“查看單個建築物”頁面。 另外,我在一個頁面上提供您的學生ID並查看有關測試程序的信息。 最后,我有一個頁面,該頁面基本上是一種表單(過去我曾經成功完成過此表單)。

現在,我建築名單的工作,但是我做了小改動,它停止工作!

目前,我的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 URL可以正確顯示所有建築物的列表, /access/12345可以正確顯示ID#12345的單個記錄。

現在access/%building菜單項甚至沒有顯示出來,甚至發送URL /access到一個重定向循環(使我認為它傳遞的東西 ,它發送它變成一個重定向到該視圖特定功能的ID /access時, ID不存在)。

誰能告訴我我做錯了什么或需要做什么來支持2個主題頁面: /access/access/%building url模式?

如果您要對網址執行操作,則只能在網址中使用%name而不是%。 Drupal在用戶和節點的整個地方都可以做到這一點,這非常聰明,因為您只需要一個地方就具有加載用戶或節點的代碼,但是它卻在很多地方得到了使用。 在這種情況下,我敢打賭要創建一個功能來加載建築物有點過大。 另一方面,這樣做的好處是,如果找不到對象,則可以進行404處理。 最好的解決方案實際上取決於您要如何處理不存在的建築物。 您甚至可以使“校園無障礙指南”功能處理404,這將使這兩個選項或多或少相等。 我會去找你最容易做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM