Автор Тема: Последовательность действий при выборе размера.  (Прочитано 506 раз)

29 Апрель 2016, 08:56:18
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Подскажите.
Допустим я выбираю в карточке товара размер.
В этом случае в product.js отрабатывает событие:
$(document).on('change', '.attribute_select', function(e){
e.preventDefault();
findCombination();
getProductAttribute();
});

Результатом которого является:
window.location = url + request; //устанавливает URL окнанапример: /tunics/7-tunic-borneo.html#/3-size-s

Подскажите какие потом происходят действия, в результате чего карточка товара перерисовывается с выбранным размером?

Просто почему то у меня при выборе размера срабатывает

GET http://12345.com/modules/blocklayered/blocklayered-ajax.php?&selected_filters=/3-size-s

500 Internal Server Error
185ms

При клике на размер срабатывает
function reloadContent(params_plus) из blocklayered-ajax.jsХотя этого не должно происходить...
29 Апрель 2016, 09:59:40
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В blocklayered.js у вас такая же функция, которая выполняется при смене полей select. В теле функции reloadContent. Посмотрите файл blocklayered.js.
Если не хотите чтобы blocklayered обрабатывал события, то отключите загрузгу blocklayered.js на странице товара или измените идентификаторы.
29 Апрель 2016, 10:20:39
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В blocklayered.js у вас такая же функция, которая выполняется при смене полей select. В теле функции reloadContent. Посмотрите файл blocklayered.js.
Если не хотите чтобы blocklayered обрабатывал события, то отключите загрузгу blocklayered.js на странице товара или измените идентификаторы.

Спасибо за ответ.

Отключу.
А вообще должна срабатывать функция из blocklayered.js на карточке товара при смене полей select?
29 Апрель 2016, 10:26:36
Ответ #3
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86688
  • Репутация: +25428/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Не должна. По логике, фильтры нужны там где можно что-то отфильтровать, а в карточке фильтровать нечего.
Но стандарный модуль грузит свои файлы на все страницы. После установки его нужно исключать из хука header для страниц, на которых он не нужен. Где-то была тема про оптмизацию prestashop в ней писали исключения для стандарных модулей, которые нужно устанавливать в модули->расположение.