[РЕШЕНО] Добавление динамического списка в SELECT Webform

Главные вкладки

Аватар пользователя ArmRus ArmRus 23 января 2012 в 13:04

Здравствуйте. поискал на сайте, и не нашел нормальный способ для динамического добавления элементов поля 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 написать код который динамически создает поля(например из БД запросов)
то в конечной форме которая будет отображаться на сайте, мы будем видеть измененный список,т.е. динамический...
Если мое объяснение не понятное-пишите в ЛС расскажу)

Комментарии

Аватар пользователя ArmRus ArmRus 14 апреля 2012 в 1:29

Думаю да, это конечно не самый лучший способ(хакать модули не есть хорошо), просто нужно было срочно реализовать список, покопался нашел те списки которые модуль генрирует,и на вскидку добавил туда пару строчек. все заработало. Smile