Здравствуйте. поискал на сайте, и не нашел нормальный способ для динамического добавления элементов поля Select в модуле Webform.
Предлагаю свое решение. Думаю оптимальное и быстрое.
Открываем файл includes/webform.options.inc
Добавляем после
<?phpfunction _webform_options_info() {
$items = array();?>
новый пункт
<?php
$items["User_list"] = array(
'title' => t('User list'),
'options callback' =>'webform_get_user',
'file' => 'includes/webform.options.inc'
);?>
Это мы добавили пункт списка в поле
Загрузить ранее созданный список настроек.: при добавлении поля типа select.
Теперь создаем обработчик функцию.
У нас она указана под названием webform_get_user
<?php
function webform_get_user(){
return array(
"key1"=>t("value1"),
"key2"=>t("value2"),
"key3"=>t("value3"),
"key4"=>t("value4"),
);
}?>
что у нас получилось, при выборе Загрузить ранее созданный список настроек.: в списке появится пункт
User list выбрав который наше поле заполнится спсиком
«
key1|value1
key2|value2
key3|value3
key4|value4
»
Фишка в том что если в функции webform_get_user написать код который динамически создает поля(например из БД запросов)
то в конечной форме которая будет отображаться на сайте, мы будем видеть измененный список,т.е. динамический...
Если мое объяснение не понятное-пишите в ЛС расскажу)
Комментарии
Спасибо! А этот файл при обновлении как себя ведет? Наверно заменяется новым файлом?
Думаю да, это конечно не самый лучший способ(хакать модули не есть хорошо), просто нужно было срочно реализовать список, покопался нашел те списки которые модуль генрирует,и на вскидку добавил туда пару строчек. все заработало.
лучше какой модуль который делает подобный механизм? чтобы нам в код не лазит