Здравствуйте. Вроде бы ерунда, но что то не могу никак придумать, чтобы это было попроще. Наверно тупой. На главной странице сайта будет каталог с марками авто. Нажав на марку авто, гуманоид попадает на каталог запчастей для этого авто. Т.е. главными разделами должны быть авто, а не запчасти.
Я сделал словарь таксономии - "марки авто" и словарь "тип запчасти". Получается открывает человек категорию авто, и у него появляются фильтры в блоке отдельном на типы запчастей. В самом списке фильтры работают нормально, как надо. Но если открыть страницу запчасти из списка, то назад уже по этим фильтрам не выйти. А если в браузере нажать назад, то визуализация активного фильтра показывается неправильно (активно "все товары" а не то что было выбрано). Если бы фильтры работали как абсолютные ссылки, то было бы ок, но никак. Нарисовал вот на картинке, думаю последний вариант сделать. Или может кто знает что умнее.
Вложение | Размер |
---|---|
katalogo.jpg | 826.11 КБ |
Комментарии
Делайте на search api + facet api
Не пойму я что с этими фасетами делать. Сервер сделал, поля настроил, фасеты выбрал, блок с фасетами на страницу вывел - пусто.
Что значит "Важно, то что фильтры будут отображаться только на странице собранной views на основе defаult node index"
ajax уберите
P.S. Для варианта 3, контекстные фильтры используйте, чтоб не делать вьюху и фильтр для каждой марки.
Два словаря: марки авто и типы автозапчастей.
На странице марки выводим вьюху с контекстным фильтром по марке. Вьюха выводит термины словаря "каталог". Имеет связь с материалами и контекстный фильтр использует эту связь.
Создаём вторую вьюху с двумя контекстными фильтрами: бренд и каталог. У неё пути будут типа catalog/1/2. Кстати, вьюха из предыдущего пункта должна выводить именно такие ссылки. Их можно собрать через перезапись поля.
Если уже совсем неймётся, то можно на такие пути нагенерить автоматически алиасов. Либо батчем попарно на все сочетания бренд/каталог, но тогда их будет слишком много и будут неиспользуемые. Либо генерить их по месту при сохранении товара проверять, есть ли алиас для его сочетания бренд/каталог и если нет, то создавать.
http://drupal.org/project/search_api +
https://www.drupal.org/project/facetapi +
https://www.drupal.org/project/facetapi_pretty_paths
Вот про контекстные фильтры и catalog/1/2 я точно не пойму наверно совсем. А если по третьему своему варианту сделаю, будет много пустых путей, так как запчастей там штук 200 и всё. Это плохо ? Поисковик будет удалять ссылки эти с надписью - "недостаточно качественный контент", вроде так, не помню точно как он пишет.
Или просто оставить фильтрами, отключить переход на просмотр товара да и всё http://jtec-jap.ru/marki-avto/toyota?tid=All
Это не три варианта, а три шага одного способа))) что касается "пустых путей" - они никогда не попадут в поисковик. Просто они будут в базе, но не будут нигде использоваться и не будут выводиться. То есть, у вас может сформироааться алиас для категории "фаркопы для феррари", но поскольку не феррари не принято ездить с прицепом, то эта ссылка нигде никогда не покажется, а будет томиться в БД в ожидании своего часа, который никогда не наступит)))
Сейчас практически стандарт де-факто зависимые фильтры и конечно категории каталога, это экономит время клиентов.
Ладно, спасибо за разъяснения. Оставлю на фильтрах, так удобнее работать с сайтом. Просто сделаю кнопки "Вернуться в Toyota.." на странице материалов.
Типа хлебных крошек?
Не, не хлебных крошек. Просто взад кнопку сделаю, чтобы клиент взад ушел, откуда пришел. А там фильтры.
Золотые слова!
Посмотрел 2 ролика на ютубе про контекстные фильтры, в итоге методом неимоверного научного тыка, я всё таки сделал.
В словарях марки авто и типа запчасти добавил текстовые поля: "Синоним URL", прописал туда желаемые синонимы.
Левое меню сделал на views из этих синонимов. Добавил поля:
- (term from field_marka_auto) Термин таксономии: URL Синоним
- Термин таксономии: URL Синоним
- Термин таксономии: Название
Перезаписал поле "Термин таксономии: Название" - catalog/[field_marka_auto_url_alias]/[field_tip_zapchasti_url_alias]
В связях:
- "Термин таксономии: Content with term"
- "(материал) Содержимое: Марка Авто"
Получились нормальные ссылки типа catalog/toyota/pnevmopodushki.
Вторым views сделал вывод по этим ссылкам материалов. В связях:
- "Содержимое: Тип запчасти"
- "Содержимое: Марка Авто".
В контекстных фильтрах:
- "(term from field_marka_auto) Термин таксономии: URL Синоним"
- "(term from field_tip_zapchasti) Термин таксономии: URL Синоним"
Путь вьюса - "catalog/%/%". Заголовок получился на английском, который брался из синонима url. Добавил поле "(term from field_tip_zapchasti) Термин таксономии: Название (Название)", исключил из вывода, в заголовке вьюса поставил [name]. Получился нормальный заголовок. Поставил easy breadcrumbs, а то был бред какой то в крошках. Теперь всё работает, управление легкое, остались мелочи.
Не, не вышло, всё по новой.
...
А, вышло, еще надо было один фильтр в меню добавить.