Larus: Блог

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

Создание иерархических списков (Страна-Город-Университет)

24 ноября 2008 в 11:38

В разрабатываемом проекте (под Drupal v.5) понадобилось создать много разных иерархических списков: пользователь выбирает значение первого уровня, далее ему показываются данные, относящиеся к выбранной категории, и т.д. для реализации выбора Страна-Город-Университет/Школа, Производитель-Марка-модель машины и т.п.

Есть замечательный модуль http://drupal.org/project/hierarchical_select (далее HS), который:
1. Сохраняет всю цепочку выбора пользователя
2. Позволяет конфигурировать до какого уровня пользователь должен/может выбирать данные, на каких уровнях пользователь может создавать свои данные/уровни.
3. Позволяет конфигурировать количество выбранных пользователем элементов
4. Предоставляет возможности конфигурации dropbox (участка, где выводится выбранная цепочка)

Кроме того, есть модуль http://drupal.org/project/content_taxonomy, который позволяет добавлять выбранные в hierarhical_select данные в поле CCK. Но. Для версии Друпал 5 на момент написания данного сообщения модуль находится в dev-версии, и не позволяет (как показали тесты в домашних условиях) сохранять несколько значений из HS для нода.

После изучения API Hierarchical Select сделала модуль с формой выбора университета (в моем случае) используя словарь Таксономии и сохранение и отображение всех выбранных пользователем элементов. Дальнейшие действия по удалению уже выбранного, отображению формы в виде вкладки/пункта меню, вывод "себе подобных" рассмотрю в отдельной записи, тут же хочу остановиться на создании формы с Hierarchical Select и получении значений из нее по Submit.