Рейтинг:0

Как получить информацию об элементе в ветке электронной почты веб-формы?

флаг br

Я на D9, работаю с электронной почтой веб-формы.

В настоящее время я переопределяю файл ветки вместо использования конфигурации тела в обработчике электронной почты, потому что мне нужно проверить различную условную логику, например. если язык интерфейса en Распечатать элемент а в противном случае элемент б.

Чтобы создать необходимую разметку, мне нужно получить информацию об элементах: например, для выбора элементов мне нужен этикетка и текст выбранного параметра, а не исходное значение.

Однако я не могу найти их с помощью webform_submission, поскольку он, похоже, содержит только необработанные данные, введенные пользователем.

На данный момент я нашел этот способ получить нужную мне информацию, но я хотел бы знать, есть ли более прямой\лучший способ их получить:

веб-форма-электронная почта-сообщение-html--webform-id.html.twig:

{% set submit_data = webform_submission.getData %}
{% set веб-форма = handler.getWebform %}
{% set my_element_test = webform.getElementDecoded('element_id') %}
{% set option_label_test = my_element['#options']['options_id'] %}

{# чтобы напечатать разметку для всех элементов #}

Рейтинг:0
флаг br

Для тех, кому это нужно, сделайте это в ветке:



{% set веб-форма = webform_submission.getWebform %}
{% set webform_element = webform.getElement (ключ) %}
{% set submit_data = webform_submission.getData %}

//значение = значение определенного элемента внутри submit_data
{% если определено webform_element['#options'] %}
  {{ webform_element['#options'][значение] }}
{% еще %}
  {{ стоимость }}
{% конец%}

Немного покопавшись в коде, я увидел, что WebformOptionsHelper::getOptionText() - вызывается в какой-то момент кодом, запускаемым функцией токенов веб-формы, - выполняет немного более сложную логику для получения значений, но, по крайней мере, для моего случая вышеизложенного достаточно.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.