Есть два словаря таксономии: "Товары" и "Производители".
Для примера в одном термины: Товар1, Товар2, Товар3. в другом: Производитель1, Производитель2, Производитель3.
Необходимы страницы с пересечениями по этим терминам. Например показать ноды которые прицеплены к Товар1 и Производитель2.
Я знаю пару стандартных способов как это сделать но используя tid в пути?
Например: taxonomy/term/1+5
Или Vievs с двумя контекстными фильтрами по "Имеет термин таксономии", так мы может получить более гибкий адрес, например: katalog/1/5
Но у меня задача получить путь состоящий из синонимов этих терминов.
Например у термина Товар1 синоним tovar1, а у термина Производитель2 синоним proizvoditel2
И в итоге мне нужно получить страницу с url типа katalog/tovar1/proizvoditel2 которая бы выводила ноды из терминов Товар1 и Производитель2.
Может кто знает не очень сложное и не ресурсоемкое решение?
Комментарии
Вроде бы нашел решение с помощью нескольких модулей http://xandeadx.ru/blog/drupal/768
Оказалось не совсем то что мне нужно. Вопрос открыт.
Всё просто - алиас можно повесить на любой существующий путь. Т.е. вручную можно задать, что catalog/1/5 = phones/samsung. Генерировать урлы можно батчем или в хуке сохранения термина.
Спасибо. Идея интересная, но если учесть что в каждой таксономии может быть свыше тысячи терминов, то становится немного страшно думать о том что будет во время создания термина. Ведь три этом придется добавить более 1000 алиасов, а при удалении термина, проследить за их удалением. А суммарное количество алиасов при этом перевалит за 1 000 000.
На самом деле на текущий момент мы с товарищем уже заточили модуль под это дело. Получился совсем небольшой код и с минимальной нагрузкой.
Если кратко, то делаем страницу views с адресом catalog/%/% и контекстными фильтрами по tid, далее в hook_url_inbound_alter с помощью drupal_lookup_path достаем tid'ы из текущего урла (например catalog/tovar1/proizvoditel2) и передаем обратно в &$path нужную ссылку с tid'ами (например catalog/1/5). В итоге на странице catalog/tovar1/proizvoditel2 грузится views с контекстными фильтрами по нужным нам таксономиям.