Ich habe eine Seite, die definitiv keine Form ist, aber ich muss einige Callback-Funktionen verwenden, um Daten von einer externen Quelle zu laden und anzuzeigen (zB eine Liste von Gebäuden auf dem Campus und ihre Informationen zur Barrierefreiheit).Drupal Modul Entwicklung hook_menu() Für Semi Statische Seiten
Was ich brauche, ist eine Landing-Listing-Seite (listet alle Gebäude auf) und eine Seite "Einzelgebäude anzeigen". Außerdem habe ich eine Seite, auf der Sie Ihren Studentenausweis eingeben und Informationen zu Testverfahren einsehen können. Und schließlich habe ich eine Seite, die im Grunde eine Form ist (die ich in der Vergangenheit erfolgreich gemacht habe).
Jetzt habe ich HAD die Gebäude Liste arbeiten, aber ich machte eine kleine Veränderung und es hörte auf zu arbeiten!
Derzeit meine hook_menu() Funktion sieht wie folgt:
<?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;
}
Vor einiger Änderung, die ich für „Campus Accessibility Guide“ den Menüpunkt gemacht haben muss richtig zeigen würde (nach natürlich aktiviert werden). Die /access
url funktionieren würde richtig eine Liste aller Gebäude Anzeige und die /access/12345
korrekt die einzelnen Datensatz von ID # 12345
Nun ist die access/%building
Menüeintrag sendet nicht einmal zeigt, und sogar die URL /access
in eine Umleitungsschleife angezeigt werden würde (lässt mich denken, dass es in etwas für die ID übergibt, die es in die Ansicht-spezifische Funktion sendet, die an /access
umleitet, wenn die ID nicht existiert).
Kann mir jemand sagen, was ich falsch mache oder was ich tun muss, um 2 Themenseiten zu unterstützen: ein /access
und /access/%building
URL-Muster?
Haben Sie noch eine 'building_load()' -Funktion zum Auffüllen von '% building'? – ceejayoz
@ceejayoz Ich habe keine 'building_load()' -Funktion, da ich sie gerade in die Callback-Funktion geladen habe. Wäre es besser, wenn ich es einfach auf '%' fallen lasse oder ein 'building_load()' erstellt hätte? – dcousineau