$form['#post'] beeinflussen

am 30.03.2008 - 13:27 Uhr in
Hallo Leute,
ich habe einen Formularwert der in $form['#post']['foo'] gespeichert ist, z.B. $form['#post']['foo'] = 120. Ein Modul, dass den Wert weiterverarbeitet, erwartet allerdings einen Array. Also sollten die Daten des Posts so aussehen: $form['#post']['foo'][0] = 120. Mit welchem Hook kann ich die Post Daten entsprechend verändern, so dass der Übergabewert in einem Array gespeichert wird? Das die Daten weiter verarbeitende Modul kann und will ich nicht ändern.
Danke für jede Antwort, Björn.
- Anmelden oder Registrieren um Kommentare zu schreiben
kann man das nicht mit
am 30.03.2008 - 16:35 Uhr
kann man das nicht mit formfunction_submit lösen?
bzw. formfunction_validate
oder ist das erste nicht dein Module? dann kannste vlt. hook_form_alter verwenden um #submit der form zu definieren und so was extra hinzuzufügen
--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb
Danke dereine für deine
am 30.03.2008 - 20:21 Uhr
Danke dereine für deine Antwort. Es handelt sich leider nicht um mein eigenes Modul, sondern um og. Ich setze bereits form_alter ein, um die Optionen des selects zur Auswahl von organic groups zu beeinflussen. Was ich mir vorstellen könnte, ist, dem select Feld ein eigenes #validate zu geben, um so eine eigene Validierungsfunktion aufzurufen. Geht das in die richtige Richtung?
Grüße, Björn
klar aber ich denke ein
am 30.03.2008 - 20:23 Uhr
klar aber ich denke ein eigenes #submit setzen ist glaube ich von der logic her richtiger, da ja OG es auch mitbekommen muss wie er es speichert
--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb
Wie meinst du das mit
am 30.03.2008 - 20:44 Uhr
Wie meinst du das mit eigenes #submit setzen? Soll ich einen neuen Submit-Button erzeugen oder kann man an das array des select Felds einen Parameter #submit anhängen? Hast du mal kurz ein Beispiel parat?
<?phpfunction
am 31.03.2008 - 07:00 Uhr
<?php
function hook_form_alter($form_id, &$form) {
if ($form_id == 'views_ui_admin_delete_confirm') {
// Adds another submitfunktion BEFORE the old one, for Views
$form['#submit'] = array('trash_view_submit' =>
array()) + (array)$form['#submit'];
}
?>
--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb
Danke für deine Antwort.
am 31.03.2008 - 07:12 Uhr
Danke für deine Antwort. Ich verstehe nicht ganz, wie mir ein neuer Submit Button helfen kann, für ein bestimmtes Feld ein Array zu erzeugen. Müsste ich nicht direkt das Feld ansprechen?
das ist kein neuer submit
am 31.03.2008 - 07:46 Uhr
das ist kein neuer submit Button sondern er ruft zusätzlich zum normalen submit, das das OG Module definiert die Funktion, davor die Funktion trash_view_submit auf
--------------
Mein Blog: www.freeblogger.org: May the source be with you
Deutscher IRC-Channel: irc.freenode.net #drupal.de je mehr desto besser
... Jabber-me: dwehner@im.calug.de Warum Jabb
Okay, super. Ich habe das
am 31.03.2008 - 08:03 Uhr
Okay, super. Ich habe das Ganze jetzt mal probiert. Angepasst auf meinen Fall, könnte es für den Preview Button so aussehen:
$form['#preview'] = array('string_to_array' =>
array('field' => $form['og_nodeapi']['visible']['og_groups'])) + (array)$form['#preview'];
}
Dennoch wird die Funktion string_to_array() nicht aufgerufen. Was mache ich falsch?
Danke, Björn
Geht nicht
am 01.04.2008 - 16:01 Uhr
Hi auch,
also es geht irgendwie nicht für $form['#preview'], sehr wohl aber für $form['#submit']. Was muss ich machen, damit die von mir definierte Funktion nicht nur bei submit, sondern auch bei preview aufgerufen wird?
Danke für jede Antwort, Björn