Доброе утро.
Заказчик поставил задачу сделать поиск на сайте по категориям. У товара есть 2 словаря, откуда выбираются термины. Первый это тип продукта (трансмиссия, тормозная система и тд) и второй модели (ваз 2110, ваз 2111 и тд) они не зависимы. Так вот в поиске надо сделать так, чтобы когда я выбрал "трансмиссия", то во втором select'е были только те модели (ваз 2110, ваз 2111 и тд) какие обязательно будут на сайте, чтобы никогда не было пустого результата в поиске.
Пример:
1 товар: каталог - трансмиссия и модель - ваз 2110
2 товар: каталог - тормозная система и модель - ваз 2111
При выборе в первом селекте "трансмиссия" во втором был только "ваз 2110", и не было "ваз 2111"
Такое вообще реально сделать? буду очень признателен за любую помощь.
Комментарии
как найдете решение, напишите.
На ум приходит только одно легкое решение (условно) это объеденить словари в 1 с иерархией и использовать Hierarchical Select.
И второе более сложное с использованием хука, примерные этапы:
(Если работают мои телепатические способности и вы используете Exposed Filters)
1. Хук на фильтры (не помню как называется, где-то делал)
- в котором добавляем первому select'у ahah callback,
- второй селект помещаем в wrapper, который бедет перезаписан после выполнения callbaсk'а
2. Создаем свой модуль, в котором:
- определяем ссылку меню типа menu_callback,
- определяем функцию обработчик, которая будет возвращать результат при обращении по указынному в меню адресу.
3. В этой функции пишем запрос к БД, выбирая значению с учетом первого селекта и создаем копию элемента второго селекта, который потом и возвращаем.
Это примерно и в 2-х словах, подробнее: DRUPAL AHAH
легкое,но будет жутко неудобным..особенно если словари будут расширяться.
А так достаточно "нагруженным" ваш фильтр будет, кажется.