it-swarm.com.de

Programmgesteuert übermittelte Feldwerte abrufen

Wie kann ich den übermittelten Wert eines bestimmten Felds aus einem Webformular drucken/wiedergeben? Ich muss dies im Webform 2 PDF Modul tun, damit ich die Ausgabe der generierten PDFs besser anpassen kann. Ich bin ziemlich neu in Drupal also ein Beispiel dafür, wie Es wäre großartig, einen einfachen f_name abzulegen.

Ich möchte mich auch mehr mit der Webform-API beschäftigen.

d.h.

Vorname: ÜBERMITTELTER NAMENWERT

4
Tom Kiddle

In den letzten 3.x- und 4.x-Versionen von Webform hat eine Hook-basierte API , damit Sie mit übermittelten Webform-Werten arbeiten können.

Sehen Sie wie folgt aus: hook_webform_submission_insert () oder hook_webform_submission_update () (Wenn in Ihrem Webformular beispielsweise Entwürfe aktiviert sind, ist die endgültige Übermittlung ein UPDATE-Aufruf mit isNew == False und isDraft == False ).

Die Funktionen nehmen einen Parameter $submission das ist ein PHP Array der übermittelten Formularwerte ... Sie können von dort aus mit ihnen machen, was Sie wollen.

2
tenken

Um Webformularwerte direkt nach dem Senden der Seite abzurufen, werden sie im globalen $_POST Variable.

Alternativ müssen Sie die richtige Webformularübermittlung laden.

Drupal 7

Hier ist ein Beispiel, wie es in Drupal 7 (gemäß diesem post ) gemacht wird:

module_load_include('inc', 'webform', 'includes/webform.submissions');
$submissions = webform_get_submissions(array('nid'=> 123));

foreach ($submissions as $submission){
    foreach ($submission->data as $row=>$data){
        print '<pre>'; print_r($row); print '</pre>';
        print '<pre>'; print_r($data); print '</pre>';
    }
}

Drupal 8

Hier ist das Beispiel, um die Übermittlung des Webformulars in Drupal 8:

$entity = \Drupal::entityTypeManager()->getStorage('webform')->load('my_webform');
$form = $entity->getSubmissionForm();
$elements = $form['elements'];

Hier ist das Beispiel mit drush:

drush ev 'print_r(\Drupal::entityTypeManager()->getStorage("webform")->load("repairs_taps")->getSubmissionForm()["elements"]);'
2
kenorb

In Drupal 5-7 sieht es so aus, als könnte man das webform_get_submissions Funktion.

1
user1359

Drupal 8-Lösung:

$entity = \Drupal::entityTypeManager()->getStorage('webform')->load('my_webform');
$form = $entity->getSubmissionForm();
$elements = $form['elements'];

Im Moment gibt es keine Funktion webform_get_submissions () in Drupal 8 (wie in D7 und D6 vorhanden). Die obigen Zeilen können helfen, die Übermittlungen eines bestimmten Webformulars abzurufen.

0
drupalfan