Автор Тема: Hook  (Прочитано 260 раз)

20 Декабря 2015, 02:36:57
  • Фрилансер
  • *
  • Сообщений: 124
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Как сделать новый hook для модуля на сайте http://sexi-shop.com.ua. У меня есть модуль выводящие баннеры и модуль выводящий карусель категорий мне нужно сделать чтобы после каждой карусели шли баннеры то есть не как сейчас через два я как понимаю что это нужно сделать новый хук для главной как мне его добавить для двух модулей ? их мне нужно добавить ещё 3й точнее)
20 Декабря 2015, 11:49:21
Ответ #1
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86330
  • Репутация: +25417/-0
  • Сообщество PrestaShop
    • Просмотр профиля
20 Декабря 2015, 12:31:39
Ответ #2
  • Фрилансер
  • *
  • Сообщений: 124
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
а тут prestashop 1.4 а у меня 1.6.1.1
20 Декабря 2015, 12:39:07
Ответ #3
  • Ветеран
  • *****
  • Сообщений: 20888
  • Репутация: +25279/-0
  • Prestashop - просто и эффективно
    • Просмотр профиля
Для prestashop 1.6 все проще
http://doc.prestashop.com/display/PS16/Managing+Hooks
В модуле добавляешь
public function install()
{
    return parent::install() && $this->registerHook('NameOfHook');
}
Эксперт Prestashop - решения всех проблем, написание модулей, создание тем для интернет-магазинов под Prestashop.
Эксперт Magento - создам сайт на Magento, программирование кастомных модулей для Magento, кастомизация тем Magento.
Лучшие цены!!!
20 Декабря 2015, 19:56:33
Ответ #4
  • Фрилансер
  • *
  • Сообщений: 124
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Для prestashop 1.6 все проще
http://doc.prestashop.com/display/PS16/Managing+Hooks
В модуле добавляешь
public function install()
{
    return parent::install() && $this->registerHook('NameOfHook');
}
то есть я вот нашёл код с hook
    || !$this->registerHook('displayHeader')
|| !$this->registerHook('displayGroupFashions')
|| !$this->registerHook('displayGroupFashions1')
            || !$this->registerHook('actionProductAdd')
            || !$this->registerHook('actionProductAttributeDelete')
            || !$this->registerHook('actionProductAttributeUpdate')
            || !$this->registerHook('actionProductDelete')
            || !$this->registerHook('actionProductSave')
            || !$this->registerHook('actionProductUpdate')
            || !$this->registerHook('actionCartSave')
            || !$this->registerHook('actionCategoryAdd')
            || !$this->registerHook('actionCategoryDelete')
|| !$this->registerHook('displayGroupFoods')
|| !$this->registerHook('displayGroupSports')
|| !$this->registerHook('displayGroupFoods1')
|| !$this->registerHook('displayGroupSports1'))
добавил в него хуки с 1ми в конце но ничего не произошло что именно я не так делаю или мне надо переустановить модуль ?
20 Декабря 2015, 20:32:07
Ответ #5
  • Ветеран
  • *****
  • Сообщений: 781
  • Репутация: +7/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нужно еще добавить функцию вашего хука и переустановить модуль.
20 Декабря 2015, 20:35:40
Ответ #6
  • Фрилансер
  • *
  • Сообщений: 124
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
Нужно еще добавить функцию вашего хука и переустановить модуль.
public function hookdisplayGroupFashions($params)
{
return $this->hooks('hookdisplayGroupFashions', $params);
}
public function hookdisplayGroupFoods($params)
{
return $this->hooks('hookdisplayGroupFoods', $params);
}
public function hookdisplayGroupSports($params)
{
return $this->hooks('hookdisplayGroupSports', $params); то есть это ? и тут
        if ($hookName == 'displayGroupFoods'){
            $hookname_div  = 'group-foods';
        }elseif ($hookName == 'displayGroupSports'){
            $hookname_div  = 'group-sports';
        }elseif ($hookName == 'displayGroupFashions'){
            $hookname_div  = 'group-fashion';
        }
???
и если переустановить все карусели собьются я так понимаю ?
21 Декабря 2015, 10:32:44
Ответ #7
  • Модератор
  • Ветеран
  • *****
  • Сообщений: 86330
  • Репутация: +25417/-0
  • Сообщество PrestaShop
    • Просмотр профиля
При переустановке позиции молдуля изменяются. Изменить позицию можно в Модули > Расположение блоков.