QueryString über ein Modul abfangen und Funktion aufrufen
am 09.12.2009 - 08:41 Uhr in
Hallo,
Ich habe folgende Aufgabenstellung:
Auf einem Node habe ich mehrere Buttons, über die der Besucher bestimmte Bereiche einer Dokumentation, die auf einem zweiten node liegt, aufrufen können soll.
Die Buttons haben links in der Form:
http://www.example.com/Features.html?section=Bereich1
http://www.example.com/Features.html?section=Bereich2
etc.
Über den QueryString section=BereichX soll nun über ein selbst erstelltes Modul auf dem Node "Features.html" der entsprechende Bereich angezeigt werden. Dieser Bereich kann nicht mit einem anchor angesprungen werden, sondern soll per Programmierung angezeigt werden.
Meine Frage ist nun:
Wie kann ich diesen Link über mein Modul "abfangen" und anhand des Parameters im QueryString eine entsprechende Funktion im Modul aufrufen?
Ich vermute, das hat was mit dem menu_hook zu tun, aber ehrlich gesagt werde ich aus den Beschreibungen nicht ganz schlau und weiß daher nicht, ob das der richtige Weg ist.
Dirk
- Anmelden oder Registrieren um Kommentare zu schreiben
$_GET
am 09.12.2009 - 08:55 Uhr
Den Wert kannst Du ganz einfach über
$_GET
abfragen.<?php
$section = '';
if (isset($_GET['section'])) {
$section = $_GET['section'];
}
?>
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, Danke für
am 09.12.2009 - 09:14 Uhr
Hallo Stefan,
Danke für Deine Antwort und nun die entscheidende Frage:
Wo mache ich das am besten in meinem Modul?
Dirk
Abfrage
am 09.12.2009 - 09:34 Uhr
Wo mache ich das am besten in meinem Modul?
An der Stelle, wo Du den entsprechenden Inhalt einblenden willst.
hth,
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Was heißt das jetzt? Im
am 09.12.2009 - 10:25 Uhr
Was heißt das jetzt?
Im Modul? Wenn ja, wo da?
In einem bestimmten hook der myModul.module? Was für ein hook ist denn der richtige, wenn die neue Seite durch den link geöffnet wurde. Welchen Hook sollte ich denn dann nehmen.
Nicht in der myModule.module Datei, sondern in der myModule.js Datei?
Vielleicht doch nicht im Modul? Dann im pagecode des Nodes? So weit ich weiß soll man dort besser keinen php Code ausführen.
Vielleicht kann mir jemand konkreter weiterhelfen.
Dirk
Modulentwicklung
am 09.12.2009 - 11:15 Uhr
Ich glaube, das es besser ist, wenn Du zuerst mal Creating Drupal 6.x modules durcharbeitest.
Dort ist erklärt, welche Hooks Du verwenden möchtest, und wie Du eigene Seiten erstellst.
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, Ich hatte oben
am 09.12.2009 - 12:13 Uhr
Hallo Stefan,
Ich hatte oben schon gefragt, ob der menu_hook in Frage kommt oder nicht. Ich habe ebenso geschrieben, dass ich aus der Erklärung zum menu_hook in der Doku nicht ganz schlau werde. Ich hab sie also bereits gelesen!
Ich verstehe nicht, was der Sinn des Forums ist, wenn immer wieder nur auf die Doku verwiesen wird. Ich habe doch nur um eine Meinung oder eine best-practice gefragt, nicht um einen Link auf die Drupal-Doku. Ist das so schwer zu sagen: "Schau dir mal hook xy an, das könnte für Deinen Fall passen"???
So wird der Sinn eines Forum ad absurdum geführt.
Dirk
Modulentwicklung
am 09.12.2009 - 12:49 Uhr
Ich verstehe nicht, was der Sinn des Forums ist, wenn immer wieder nur auf die Doku verwiesen wird.
Jedenfalls nicht, dieselbige zu zitieren.
Ist das so schwer zu sagen: "Schau dir mal hook xy an, das könnte für Deinen Fall passen"???
Ich habe Dich auf das Handbuch zur Erstellung von Drupal-Modulen verwiesen, da dort ausführlich erklärt ist, wie man in eigenen Modulen Seiten erstellt, die dann auch über eigene Menüpunkte aufgerufen werden können (durch die Verwendung von
hook_menu
).Das Handbuch gibt es hier sogar in übersetzter Form.
Wie ich bereits schrieb, fängst Du den Parameter in der Funktion ab, die für die Erstellung der Ausgabeseite (bzw. für den Text) verantwortlich ist.
hook_menu kümmert sich "nur" um die Erstellung von Menüpunkten und die Verknüpfung von Pfaden mit Seiten bzw. Aktionen.
Stefan
--
Sei nett zu Deinem Themer!
Tipp: Beachte die Verhaltensregeln des DrupalCenter.