Modulaufruf ohne all die Menüs - ganz einfach
Eingetragen von soezkan (558)
am 06.05.2008 - 12:26 Uhr in
am 06.05.2008 - 12:26 Uhr in
Hallo Leute,
ich habe gesucht und auch einiges zum Thema gefunden, aber nichts, dass mir
wirklich weitergeholfen hat.
Angenommen ich möchte ein Drupal-Modul aufrufen, das Daten in die DB schreibt
und sonst nichts tut, keine Menüs oder das Theme zeigt. Einfach nur eine
DB-Query ausführt.
Also z.B. würde ich gerne von einer anderen Domain mein Drupal-Modul aufrufen,
derart, dass ...
<form action="http://www.mydrupal.com/?q=mymodule" method="POST">
<input type="text" name="name">
...
</form>
... die Werte aus dem $_POST-Array einfach in die DB schreibt.
Wahrscheinlich ist das total einfach, aber ich komm einfach nicht drauf wie!
Wer kann mir da helfen??
1000 Dank,
Soezkan
- Anmelden oder Registrieren um Kommentare zu schreiben
Ohne hook_menu() geht es nicht ...
am 07.05.2008 - 07:25 Uhr
..., denn den Hook hook_menu() als reines Menü-System zu bezeichnen trifft es nicht genau. Das hook_menu() ist einiges mehr.
Jedes Script braucht einen Punkt über den es aufgerufen werden kann. Dies wird über das hook_menu() erreicht. Zudem wird hier auch festgelegt welche Funktion, im eigenen Script, die Antwort auf einen Request der Seite zurückgibt. Weiter können die Berechtigungen festgelegt werden, die es erlauben bestimmte Funktionen bzw. Menüpunkte aufzurufen.
Dabei ist jeder Menüpunkt ein eigenes Array. Das Array besteht aus folgenden Komonenten:
path
Der Pfad über den der Punkt zu erreichen ist. Pflichtangabe
title
Der übersetzte Titel im Menü. Pflichtangabe
callback
Die Funktion die aufgerufen wird, wenn der User den Menüpunkt aufruft.
callback arguments
An array of arguments to pass to the callback function.
access
Ein Boolean-Wert der angibt ob der Menüpunkt angezeigt werden soll. Gibt eine Entscheidung an user_access().
If omitted and "callback" is also absent, the access rights of the parent menu item will be used instead.
weight
Ist ein Integerwert der bestimmt an welcher Stelle im Menü der Punkt erscheint (Wertebereich -10 bis 10; Default 0. Wenn hier keine Angabe gemacht wurde, wird alphabetisch sortiert.
type
Gibt an in welchem Menü der Punkt erscheinen soll.
A bitmask of flags describing properties of the menu item. Many shortcut bitmasks are provided as constants in menu.inc:
MENU_NORMAL_ITEM
Anzeige im normalen Menü-Baum. Die Position kann vom Administrator verändert werden.
MENU_ITEM_GROUPING
Item groupings are used for pages like "node/add" that simply list subpages to visit.
MENU_CALLBACK
Callbacks simply register a path so that the correct function is fired when the URL is accessed.
MENU_DYNAMIC_ITEM
Dynamic menu items change frequently, and so should not be stored in the database for administrative customization.
MENU_SUGGESTED_ITEM
Modules may "suggest" menu items that the administrator may enable.
MENU_LOCAL_TASK
Erzeugt einen lokalen Tab.
MENU_DEFAULT_LOCAL_TASK
Alle Seiten mit Tab's benötigen einen "default" Tab. Dieser wird immer zu Anfang aufgrufen.
Fehlt der "type", wird MENU_NORMAL_ITEM angenommen.
Du wirst also nicht umhinkommen ein eigenes Modul zu schreiben, das deine Angaben aufnimmt und abspeichert. Dafür kannst du den '#type' MENU_CALLBACK nutzen.
Gruß
UwBach