Расширенный поиск по сайту

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

Аватар пользователя kolosnitsyn kolosnitsyn 12 октября 2010 в 14:21

Процветай и здравствуй, дорогое сообщество.

С друпалом знаком, можно сказать, поверхностно.

Предо мно сейчас стоит следующая задача:

необходимо реализовать форму поиска (продвинутого).

Нужно, чтобы поле, в которое вводить ключевую фразу для поиска, было не обязательным для ввода.

Следующее. Есть несколько словарей таксономии.
Один словарь - регион (Азия, Европа, Африка) и второй - страны (Алжир, Афганистан, Индия и т.д.).

Нужно чтобы в форме поиска присутствовал select с возможностью выбрать несколько вариантов со следующей логикой поиска:
Выбираем Африку - в результатах видим все страны, которые находятся на континенте Африка.

Ищем Египет - видим и те ноды, которые находятся в термине "Африка"...

Аналогично еще с 5-ю словарями, существующими на сайте.

Сломал мозг, перепробовал Faceted search, Views с exposed фильтрами и еще не помню какие модули, но вобщем вот...

Есть у кого-то решение для этого? Или же мне придется писать standalone-поиск вообще вне друпала по используемой БД?

Подскажите кто чем может, пожалуйста.

Спасибо заранее...

Комментарии

Аватар пользователя T-34 T-34 12 октября 2010 в 16:37

У вас неправильно построена таксономия, отсюда и проблемы. Я бы сделал страны дочерними терминами регионов.
Поиск не нужен, понадобятся только ссылки на термины (можно сделать дропдаун меню с помощью jump).

> Выбираем Африку - в результатах видим все страны, которые находятся на континенте Африка.
Делается одним модулем taxonomy_context или своим кодом (я добавляю в template.php новую переменную со списком дочерних терминов в preprocess_page и вывожу ее в page.tpl.php)

> Ищем Египет - видим и те ноды, которые находятся в термине "Африка"...
Подходящего готового модуля не знаю, возможно, это реализуется через Views (не сталкивался с такой задачей). На крайний случай можно хакнуть taxonomy_term_page().