Автор Тема: Фильтр товаров в виде ссылок на категории  (Прочитано 769 раз)

29 Март 2020, 10:55:53
  • Пользователь
  • **
  • Сообщений: 64
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Добрый день!

Престашоп 1.7.6.0
Фильтрация выводится многоуровневой навигацией. Ссылки при сортировке имеют ?q=.
Сортировка задается атрибутами.

Меня интересует другой вариант вывода фильтра - в виде ссылок на подкатегории.
Например, вот тут: https://mebel-na-rusi.ru/catalog/shkafi/shkafi_kupe
Слева блок фильтрации, допустим "Фасад дверей". Каждый заданный фильтр - это ссылка на отдельную подкатегорию.

Материнская категория Шкафы-купе: https://mebel-na-rusi.ru/catalog/shkafi/shkafi_kupe

Дочерние:
https://mebel-na-rusi.ru/catalog/shkafi/shkafi_kupe/s-zerkalom
https://mebel-na-rusi.ru/catalog/shkafi/shkafi_kupe/s-fotopechatju

и тд. выведены в виде фильтра.

Как это сделать в Prestashop?
29 Март 2020, 12:20:15
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
В шаблоне фильтров можно добавить блок с категориями. Какие проблемы?
Создайте под-категории и включите показ категорий в фильтрах.
29 Март 2020, 12:24:24
Ответ #2
  • Пользователь
  • **
  • Сообщений: 64
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В шаблоне фильтров можно добавить блок с категориями. Какие проблемы?
Создайте под-категории и включите показ категорий в фильтрах.

Спасибо.
Сделала, но в таком виде ссылка так же остается с ?q=
А мне желательно прямая ссылка на подкатегорию, как она есть без ?q=
29 Март 2020, 13:11:17
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Для смены чпу нужен модуль. С модулем блок  многоуровневой навигацией не получится так сделать.
В Advanced Search 4 можно изменить чпу.
Как вариант, можно переделать меню блока категорий, сделать как фильтры.
29 Март 2020, 13:42:36
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В админке зайдите в Трафик и SEO / SEO и URL измените схему URL для -
Путь к категории, имеющей атрибут "selected_filter" для модуля "Блок навигационных фильтров"




29 Март 2020, 13:47:48
Ответ #5
  • Пользователь
  • **
  • Сообщений: 64
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В админке зайдите в Трафик и SEO / SEO и URL измените схему URL для -
Путь к категории, имеющей атрибут "selected_filter" для модуля "Блок навигационных фильтров"

Сейчас у меня вот так: {id}-{rewrite}{/:selected_filters}
А на какой изменить?
29 Март 2020, 14:00:42
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 1285
  • Репутация: +13/-1
  • Сообщество PrestaShop
    • Просмотр профиля
В админке зайдите в Трафик и SEO / SEO и URL измените схему URL для -
Путь к категории, имеющей атрибут "selected_filter" для модуля "Блок навигационных фильтров"
Там можно только добавить некоторые параметры в url, но не заменить "?/q=".

В дефолтном варианте prestashop с бесплатным модулем ps_facetedsearch сложно что-то сделать.
Чтобы удалить "?/q=" нужно переопределять класс NewProductsController  метод getProductSearchVariables
// get the parameters containing the encoded facets from the URL
$encodedFacets = Tools::getValue('q');
проблема в том, как определить какой фильтр выбран, если вы удалите переменную q= из url?

Поэтому лучше заменить модуль ps_facetedsearch на другой.
Или придеться переделать модуль, так чтобы фильтры представляли не ссылки, а форму с полями hidden в которых будет передаваться переменная поиска.
29 Март 2020, 15:02:11
Ответ #7
  • Пользователь
  • **
  • Сообщений: 64
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
 :)Спасибо всем, огромное
Жаль, конечно, что имеющимся функционалом не сделать url без ?q=
Буду решать.