Zugriff auf Eingabedaten mit hook_form_alter und hook_node_api
am 30.12.2007 - 21:12 Uhr in
Hallo zusammen
Kann mir jemand sagen, wie man ohne Murks an die Eingabedaten eines bestehenden Formulars in einem eigenen Modul gelangt?
Ich habe in meinem Modul mit hook_form_alter() ein neues Eingabefeld im Modul 'Image' eingefügt. Dies klappt wunderbar, ich kann den Wert im Form des Image-Moduls eingeben. Nun möchte ich den Wert in meinem Modul wieder auslesen. Im Image-Modul möchte ich nichts verändern.
Am vielversprechensten scheint mir dazu die Funktion hook_nodeapi($node, $op, $arg). Leider ist aber bei der Submitoperation ($op='submit') $arg leer.
Kann mir dazu jemand weiterhelfen?
Gruss Frizz
- Anmelden oder Registrieren um Kommentare zu schreiben

hook_form_submit
am 08.01.2008 - 23:57 Uhr
Vielleicht hilft dir diese Fkt weiter:
hook_form_submit($form_id, $form_values).......
Webentwicklung
Re: Zugriff auf Eingabedaten mit hook_form_alter und ...
am 10.01.2008 - 12:50 Uhr
Ich habe in meinem Modul mit hook_form_alter() ein neues Eingabefeld im Modul 'Image' eingefügt.
Du kannst in Module keine Eingabefelder einfügen. Du kannst nur in Formulare Eingabefelder einfügen. Normalerweise würde ich vielleicht über diesen innovativen Umgang mit der Terminologie hinwegsehen, das Problem ist nur: das Image-Modul stellt mehrere Formulare bereit, die du unterschiedlich behandlen musst.
node/add/image), dann verwendehook_nodeapi(). Wenn$op"insert" oder "update" ist, dann steckt der Wert im$nodeObjekt. Installiere dasdevel-Modul, dann kannst du dir mitdpr($node)anzeigen lassen, wie das$node-Objekt aufgebaut ist. Außerdem solltest du wahrschienlich auch für die Operationen "delete", "delete revision" und "load" sinnvolle Implementierungen bereitstellen.admin/settings/image), dann musst du dem Formular auch eine zweite Submit-Funktion spendieren. Das machst du ebenfalls inhook_form_alter, und zwar so:<?php$form['#submit'] += array($funktion => array());
?>
Es ist egal welchen Wert du für
$funktionnimmst, es sollte sich aber um den Namen einer Funktion handeln, die du in deinem Modul implementiert hast, um die Fromularwerte entgegenzunehmen.{modulname}_form_submitbietet sich bei kleineren Modulen an. Die Funktion bekommt zwei Parameter,$form_idund$form, deren Aufbau du ebenfalls mit obiger Funktiondpr()erkunden kannst.hook_form_submit($form_id, $form_values)Einen solchen Hook gibt es nicht.
--
