Автор Тема: Создал новый хук для модуля layered, события js не отрабатывают  (Прочитано 575 раз)

26 Апрель 2016, 13:22:45
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Что может быть?

Сделал всё как здесь описано:
http://nemops.com/prestashop-layered-navigation-block-center-column/#.Vx9AxEyLSUk

В нужно мне месте фильтры отобразились.
Однако при выборе в фильтре значения ничего не происходит.

Что-то с js...

26 Апрель 2016, 14:11:43
Ответ #1
  • Партнер
  • Ветеран
  • ****
  • Сообщений: 22816
  • Репутация: +17143/-1
  • Разработка веб-сайтов и веб-программирование
    • Просмотр профиля
Js можно протестировать firebug. Поставить точки сверки, проверить значения переменных в точка.
Интернет-магазин под ключ.
Какой выбрать движок для интернет магазина ?
Какой движок лучше ?
Magento или Prestashop ?
Решение всех Ваших вопросов в создании Интернет-магазина.
26 Апрель 2016, 14:18:12
Ответ #2
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Js можно протестировать firebug. Поставить точки сверки, проверить значения переменных в точка.

Странно:
Почему то не срабатывает

public function hookHeader($params)
$this->context->controller->addJS(($this->_path).'blocklayered.js');

Хотя в "Расположение блоков" blocklayered указан в hookHeader
26 Апрель 2016, 14:21:00
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 3419
  • Репутация: +79/-6
  • Сообщество PrestaShop
    • Просмотр профиля
26 Апрель 2016, 14:24:09
Ответ #4
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
$this->context->controller->addJS(($this->_path).'blocklayered.js');Файл blocklayered.js должен быть в папке модуля.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
26 Апрель 2016, 14:57:32
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
А вот ещё один момент

Подскажите в чём   проблема  с  blocklayered , если в настройках модуля допустим для цвета вместо чекбоксов поставить  выпадающий   список , то при клике по этой форме(чтобы расктрыть её во фронт офисе)происходит поиск(при этом невозможно выбрать характеристику) подскажите в чём может быть дело?

Что то здесь не так:

$(document).on('click', '#layered_form .select, #layered_form input[type=checkbox], #layered_form input[type=radio]', function(e) {
reloadContent(true);
});
26 Апрель 2016, 15:04:06
Ответ #6
  • Ветеран
  • *****
  • Сообщений: 22125
  • Репутация: +25303/-1
  • Prestashop - просто и эффективно
    • Просмотр профиля
#layered_form .selectЭто значит при клике на select будет перезагрузка. Т.е. до выбора option никогда не дойти.
Для выпадающего списка onchange.
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
26 Апрель 2016, 15:24:44
Ответ #7
  • Ветеран
  • *****
  • Сообщений: 527
  • Репутация: +1/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Может кому пригодится:
$('#layered_form input[type=checkbox], #layered_form input[type=radio], #layered_form select').live('change', function()
{
reloadContent();
});