Здравствуйте, коллеги. Делаю в Drupal 7 форму модуля Webform в которой пользователь будет вводить марку автомобиля. Создал словарь таксономии в котором 13тыс. марок автомобилей. Собрался вывести его в поле типа select/выпадающий список. И не могу.
Нашел первое решение. Модуль Webform Term Options [module=webform_term_opts] Этот модуль при создании поля типа select предлагает загрузить в качестве выпадающего списка любой имеющийся словарь таксономии. Но иерархию он не делает. Просто заполняет поле Опции значениями из словаря в виде "свой_ключ | термин_выбранного_словаря". И более того, он не хочет сохранять настройки поля в котором 13 тыс. значений выпадающего списка. Ведь у меня в словаре очень много марок автомобилей.
Мне бы вставить термины с сохранением иерархии. В моем случае иерархия это Марка >> модель. Например: Audi >> A4, Audi >> A6. Прошу, пожалуйста, помочь советом.
Комментарии
ручками с любовью написать пару сотен строчек кода
Спасибо, что подняли тему.
Есть вариант не пользоваться webform вообще. Разрешить пользователю создавать ноды определенного типа. Создать правила, события, чтобы на почту эти ноды отправлять. Но я пока рассчитываю на webform плюс решение в виде модуля, хука или views.
Еще можно использовать модуль [module=webform_conditional] Он создает зависимые поля в форме. Но тогда придется создавать столько словарей с моделями, сколько марок автомобилей. Потом эти словари включать в опции выпадающего списка модулем Webform Term Options. Есть предложения ?
может, поможет...
http://station9.ru/drupal-7-webform-dinamicheskij-select-iz-bazy/
Пока еще не добрался до совета Kation. В процессе.
Помню про задачку и способ создания хука для модуля Webform, который предложил Kation. Планирую вернуться к этому проекту и если все получиться, напишу.
Можно вывести через views термины словаря, а в поле "имя термина" переопределить значение, чтобы при нажатии отправлялся POST или GET запрос в поле webform "Марка авто", а в самом этом поле выставить по умолчанию %get, или %post. При выполнении заказа посылать сначала на этот views. Заморочено. Но по моему для посетителя будет более наглядно выбирать одно из 13000 значений на отдельной странице, чем в селекте.