Рейтинг:0

Как добавить значение настраиваемого параметра для выбора поля в веб-форме и сохранить их при отправке?

флаг ng

У меня есть веб-форма Drupal 7, когда мне нужно динамически заполнить параметры поля выбора. В настоящее время я использую hook_form_alter() и устанавливаю значения так:

<?php
 $form['submitted']['left']['select_field_name']['#options'] = $new_options;
</php>

Это работает для отображения новых параметров при создании веб-формы, но значения не сохраняются вместе с формой.

Я знаю, что есть хук hook_webform_select_options_info() для создания предопределенных параметров, но он не принимает никаких параметров, поэтому у меня нет возможности передать значение из веб-формы, чтобы сообщить ему, как динамически создавать параметры.

Есть ли способ создать список параметров динамического выбора и сохранить в нем значения, которых не было в исходном списке значений выбора веб-формы?

Alireza Tabatabaeian avatar
флаг cn
если параметры в $new_options не содержатся в настройках select_field_name, то они будут игнорироваться на этапе проверки отправки веб-формы, поэтому вам нужно, чтобы они все были в настройках вашего элемента
quantumized avatar
флаг ng
Алиреза, как я могу получить параметры в настройках, если они динамически генерируются в hook_form_alter()?
Рейтинг:0
флаг cn

You also can use a text field element rather than an Select element , and then in hook_form_alter change the element type to select and apply your desired options to that, in this case webform won't ignore input value as there is no restriction for textfield (if no regex or ... is set)

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

Я решил эту проблему, заполнив все возможные параметры через hook_webform_selection_options(), а затем сбросив параметры в hook_form_alter(), чтобы удалить те, которые мне не нужны для этого экземпляра.

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

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