Formular-Submits per custom-modul auslesen [gelöst]
am 15.04.2024 - 16:00 Uhr in
Hallo zusammen,
da ich bei einem Thema nicht weiterkomme, würde ich mich über Tipps der Community freuen:
Aufgabenstellung: Aus einem einfachen Webform möchte in Drupal 8.9 Daten per Custom modul auslesen - z.B. das Feld "title"
Wie ich nachgelesen habe, gab es ein paar Änderungen in den Drupalversionen, weshalb ich ggf. keine Lösung finde.
Meine aktuellen Ansätze im Custom modul sind:
function custom_settings_validate(&$form, \Drupal\Core\Form\FormStateInterface $form_state) {
var_dump($form_state);
Hiermit wird mir das Objekt angezeigt:
Drupal\Core\Form\FormState {#1123 ▼
...
#input: array:14 [▼
"changed" => "143346"
"title" => array:1 [▼
0 => array:1 [▼
"value" => "Hier steht der submitted title"
Weiteres vorgehen und zentrale Frage: wie lese ich in Drupal 8.9 dieses Objeekt / Array aus?? Ist die Ausgabe ggf. irgendwo blockiert?
Ich habe schon diverse Ansätze gestetet:
var_dump($form_state->value);
var_dump($form_state->getValue('title',[0]['value']));
var_dump($form_state->getValue);
var_dump($form_state->getValue());
var_dump($form_state->getValue('title'));
var_dump($form_state->input['title'][0]['value');
foreach($form_state as $objekt)
{
$zeige = $objekt->input;
dump($zeige);
}
Name des Formularfeldes:
name="title[0][value]"
Mit wundert es u.a., dass derDrupalbefehl getValue nicht funktioniert. Gibt es andere Ideen, wie ich den Wert bekomme?
Über Tipps oder Anregungen wäre ich echt dankbar!
- Anmelden oder Registrieren um Kommentare zu schreiben
?Custom
am 16.04.2024 - 00:20 Uhr
es wundert mich etwas, warum da ein Custom-Modul nötig sein soll. Webform erscheint schon mal unübersichtlich (mir auch ;-) ), aber die Elemente eines Submits sollten doch mit Webform selbst ansprechbar sein, oder ich hab was nicht verstanden?
https://amazonas-box.de
https://muenchen.social/@Franz
Views nutzen
am 16.04.2024 - 05:36 Uhr
Zumindest kann man mit views und webform_views alle Daten aus Webform präsentieren, ohen eigene Module zu erstellen.
Mögliche Bugs
am 16.04.2024 - 09:33 Uhr
Aufgrund des Projekts muss ich zwingend in die submissions eingreifen. Irgend ein anderes Modul zu nehmen ist keine Option.
Mich wundert es einfach, dass die Formulareingaben nicht lesbar sind.
Sind vllt meine Abfragen hinsichtlich Array und Object falsch?
Gibt es irgend einen Bug in Drupal 8.9? Muss ich vllt nach Drupal 9 Standards oder D7 programmieren?
Falls ihr Ideen für Code habt, schickt sie gerne mal rum, dann teste ich jene mal :-)
Lösung
am 15.05.2024 - 13:01 Uhr
Nun habe ich die Lösung selbst gefunden. Man benötigt den Befehl getUserInput() in Drupal 8.9
Also lese ich das Feld so aus:
$form_state->getUserInput()['field_title']