Автор Тема: Проблема с модулем blocklayered  (Прочитано 1037 раз)

05 Январь 2017, 19:55:23
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Доброго времени суток, форумчане)
Долго искал на форуме, но ничего не нашел, ровно как и в интернете. Значит суть проблемы:

Блок blocklayered работает отлично, однако не так давно я заметил, что когда переходишь на другую страницу в категории добавляется #/page-2, а должно быть ?p=2. Сначала я подумал, что дело в скрипте blocklayered.js, однако понял, что нет, т.к удалял даже функцию paginationButton. Результатов не дало.

Да, когда выключаешь модуль, все работает замечательно, но как только включаешь, возникает проблема с погинацией. Подскажите, куда рыть, что делать?

У меня из-за этого сверху над списком товаров коряво получается вывод названия категории/подкатегории и количества товаров в этом категории/подкатегории.
Подскажите, куда копать.
05 Январь 2017, 20:01:02
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Никакой проблемы нет, так этот модуль и должен работать.
В файле /themes/default-bootstrap/js/modules/blocklayered/blocklayered.js в функции paginationButton использут page, а не p.
$(this).attr('href', location + current_friendly_url.replace(/\/page-(\d+)/, '') + '/page-' + page); Сделано так специально, чтобы не путать с пагинацией темы.
05 Январь 2017, 20:03:23
Ответ #2
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Никакой проблемы нет, так этот модуль и должен работать.
В файле /themes/default-bootstrap/js/modules/blocklayered/blocklayered.js в функции paginationButton использут page, а не p.
$(this).attr('href', location + current_friendly_url.replace(/\/page-(\d+)/, '') + '/page-' + page); Сделано так специально, чтобы не путать с пагинацией темы.

Понял. Тогда как мне убрать этот баг? Нужно, чтобы красиво отображалось название категории и количество товара.
06 Январь 2017, 12:04:06
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Для названия нужно изменить наименование чпу фильтров. Решетку убрать в правилах чпу. Если решетку убирать, то нужно в blocklayered.js изменить переменную фильтров url.
06 Январь 2017, 18:27:02
Ответ #4
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для названия нужно изменить наименование чпу фильтров. Решетку убрать в правилах чпу. Если решетку убирать, то нужно в blocklayered.js изменить переменную фильтров url.

Названия я сделал, не в них косяк.
Я так понимаю, что у меня две пагинации между собой конфликтуют.
Сейчас у меня получается такая ссылка: mysite.com/12-muzhskoe#/razmer-32 ( mysite.com/12-muzhskoe?p=4#/razmer-33), а нужно чтобы была такая: mysite.com/12-muzhskoe?selected_filters=es-6%2Frazmer-32. Потому что с такой ссылкой у меня красивое и правильное отображение.
Исходя из этого я подозреваю, что ошибка в отображении у меня именно из-за пагинации, думаю именно из-за настроек или из-за #/
06 Январь 2017, 18:53:41
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Выключи чпу тогда будет такой url - "?selected_filters=es-6%2Frazmer-32". Правила чпу заменяют это на #/razmer-32
06 Январь 2017, 19:43:24
Ответ #6
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Выключи чпу тогда будет такой url - "?selected_filters=es-6%2Frazmer-32". Правила чпу заменяют это на #/razmer-32
Пробовал уже, не получается, точно такая же ошибка. Скрин приложен.
Да и отключать ЧПУ тоже не вариант, т.к ссылки будут отображаться не красиво, поисковики не поймут))

Что еще можно попробовать? Куда рыть?
Когда отключаю модуль blocklayered, то все работает хорошо, но вот с ним отображение идет кривое. Что может быть?
07 Январь 2017, 13:21:53
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль blocklayered так меняет ссылки. Или оставляй его и закрывай в robots.txt ссылки с "#", или другой установи. Advanced Search 4 можно использовать.
07 Январь 2017, 23:39:26
Ответ #8
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Модуль blocklayered так меняет ссылки. Или оставляй его и закрывай в robots.txt ссылки с "#", или другой установи. Advanced Search 4 можно использовать.
Спасибо, буду пробовать.
Подскажите, а как мне вообще убрать пагинацию в этом модуле?
Просто дело в том, что если модуль убрать все красиво отображается, без никаких вопросов (?p=3 для 3-ей страницы), с  ним косяки начинаются.
08 Январь 2017, 14:16:00
Ответ #9
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
Никакой проблемы нет, так этот модуль и должен работать.
В файле /themes/default-bootstrap/js/modules/blocklayered/blocklayered.js в функции paginationButton использут page, а не p.
$(this).attr('href', location + current_friendly_url.replace(/\/page-(\d+)/, '') + '/page-' + page); Сделано так специально, чтобы не путать с пагинацией темы.
Писали уже где функция постраничной навигации. Только ее не удалять, а менять нужно.
09 Январь 2017, 17:30:37
Ответ #10
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Никакой проблемы нет, так этот модуль и должен работать.
В файле /themes/default-bootstrap/js/modules/blocklayered/blocklayered.js в функции paginationButton использут page, а не p.
$(this).attr('href', location + current_friendly_url.replace(/\/page-(\d+)/, '') + '/page-' + page); Сделано так специально, чтобы не путать с пагинацией темы.
Писали уже где функция постраничной навигации. Только ее не удалять, а менять нужно.
Не помогает) в том-то и дело... что я здесь только не делал, что не менял) первое, что поменял это:
$(this).attr('href', location + current_friendly_url.replace(/\/page-(\d+)/, '') + '?p=' + page);

Но результата не дало..потом закомментировал эту строчку и чуть выше, где объявляется переменная location и тоже ничего...

Что я не так делаю?

Встречное предложение: а что если сделать "костыль" и попробовать запись сделать как на фото?
09 Январь 2017, 17:52:58
Ответ #11
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Цитировать
Встречное предложение: а что если сделать "костыль" и попробовать запись сделать как на фото?
Что сделать? Количество и так покажет, если отметить категорию эту у товаров.
09 Январь 2017, 18:02:41
Ответ #12
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Что сделать? Количество и так покажет, если отметить категорию эту у товаров.

Как вариант, но хотелось бы видеть именно название категории/подкатегории.
Мне бы понять как знак "#" влияет на формирование страниц и пагинацию в целом)
09 Январь 2017, 19:57:24
Ответ #13
  • Ветеран
  • *****
  • Сообщений: 16670
  • Репутация: +14630/-5
  • Сообщество PrestaShop
    • Просмотр профиля
Название категории/подкатегории можно взять из шаблона /themes/default-bootstrap/breadcrumb.tpl
Знак "#" разделитель фильров в url. Все что после этого знака движок считает как фильтры и соотвествено сортирует список товаров.
10 Январь 2017, 12:25:49
Ответ #14
  • Новичок
  • *
  • Сообщений: 21
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Название категории/подкатегории можно взять из шаблона /themes/default-bootstrap/breadcrumb.tpl
Знак "#" разделитель фильров в url. Все что после этого знака движок считает как фильтры и соотвествено сортирует список товаров.

А зачем в этом файле ,если можно /themes/тема/category-count.tpl, здесь также переменная))

Спасибо всем, кто пытался помочь, решил не мучать себя и сделал "костыль":
в файле /themes/тема/category-count.tpl убрал <span class="cat-name"> (как кто-то советовал) теперь выводится только количество товара.
По большому счету, пусть хотя бы так выводит: меньше волокиты, зато мало-мальски красиво смотрится)