Unter Drupal 7.78 funktioniert Submit-Handler, unter 7.82
am 26.08.2021 - 12:26 Uhr in
Auf einer Drupal 7.78 Version wird beim Editieren und Anlegen von Nodes eine bestimmte Manipulation vorgenommen.
Abhängig von der Verknüpfung zu einer Taxonomie, werden von dort Bilder-Informationen geholt und in einem anderen Feld das dort hinterlegte Dummy-Bild ersetzt.
Das funktionierte auf dem Testsystem unter Drupal 7.78 für Anlegen und Editieren der Nodes via Form Alter und Submit Handler.
Auf dem Produktivsystem unter 7.82 funktioniert es nur noch beim Editieren. Beim Anlegen des Nodes ist form_state nicht gesetzt.
Das ist ja eigentlich bekannt und es gibt diverse Vorschläge, wie der Aufruf der Submit-Funktion lauten muss, damit es dennoch funktioniert.
Das habe ich früher vielfach so gemacht.
Aber keine dieser Schreibweisen funktioniert nach dem Update auf 7.82.
Zum besseren Verständnis hier der grobe Ablauf und die versch. Submit-Aufrufe.
Natürlich wurde im Test nur jeweils eine Variante scharf gestellt.
<?php
function xxx_form_alter(&$form, $form_state, $form_id) {
//dsm($form);
if($form_id == 'my_node_form'){
//Do something with edit or create node
// works with edit node, but not with create
$form['#submit'][] = 'mymodule_form_submit';
// works neither with edit node nor with create node
$form['actions']['submit']['#submit'][] = 'mymodule_form_submit';
// works neither with edit node nor with create node
array_shift($form['#submit'], 'mymodule_form_submit');
}
}
function mymodule_form_submit($form, &$form_state) {
//Message comes with edit and create node
drupal_set_message(t('in Submit Funktion.'), 'status');
//Do something to manipulate get referenced term
if(isset($term->abc) && isset($form_state['values'][$myresult]) ){
//comes with edit node
$file = $term->abc['und'][0];
$form_state['values'][$meinresult]['und'][$keyterm] = $file ;
}else{
//comes with create node
drupal_set_message(t("form_state not set"), 'status');
}
}
?>
Was kann ich noch probieren?
Alternativ könnte ich nach dem Anlegen des Nodes sofort noch einen Update hinterher machen.
Aber das muss doch eleganter gehen?
- Anmelden oder Registrieren um Kommentare zu schreiben
Neue Kommentare
vor 2 Tagen 22 Stunden
vor 3 Tagen 1 Stunde
vor 3 Tagen 1 Stunde
vor 3 Tagen 1 Stunde
vor 3 Tagen 22 Stunden
vor 4 Tagen 49 Minuten
vor 4 Tagen 21 Stunden
vor 5 Tagen 14 Stunden
vor 5 Tagen 15 Stunden
vor 5 Tagen 19 Stunden