Puncte:0

Cum obțineți informațiile despre un element din formularul web e-mail twig?

drapel br

Sunt pe D9, tematizează un e-mail de formular web.

În prezent, suprascriu fișierul twig, în loc să folosesc configurația corpului în handlerul de e-mail, deoarece există diverse logici condiționate pe care trebuie să le verific - de ex. dacă limbajul interfeței este ro imprimare elementul a in caz contrar elementul b.

Pentru a crea marcajul necesar, trebuie să obțin informațiile elementelor: de exemplu, pentru elementele selectate, am nevoie de eticheta și textul opțiunii selectate, nu valoarea brută.

Cu toate acestea, nu le pot găsi folosind webform_submission, deoarece pare să conțină doar datele brute introduse de utilizator.

Deocamdată, am găsit această modalitate de a obține informațiile de care am nevoie, dar aș dori să știu dacă există o modalitate mai directă\mai bună de a le obține:

webform-email-message-html--webform-id.html.twig:

{% set submission_data =webform_submission.getData %}
{% set webform = handler.getWebform %}
{% set my_element_test = webform.getElementDecoded('element_id') %}
{% set option_label_test = my_element['#options']['options_id'] %}

{# pentru a imprima marcajul pentru toate elementele #}

Puncte:0
drapel br

Pentru oricine are nevoie de acest lucru, făcând acest lucru în twig funcționează:



{% set webform = webform_submission.getWebform %}
{% set webform_element = webform.getElement(cheie) %}
{% set submission_data =webform_submission.getData %}

//value = valoarea elementului specific din submission_data
{% dacă webform_element['#opțiuni'] este definit %}
  {{ webform_element['#options'][value] }}
{% altfel %}
  {{ valoare }}
{% endif %}

Făcând un pic de scufundare în cod, am văzut asta WebformOptionsHelper::getOptionText() - numit la un moment dat de codul rulat de funcția token-urilor Webform - face o logică ceva mai complexă pentru a obține valorile, dar cel puțin pentru cazul meu cele de mai sus sunt suficiente.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.