2013-02-18 5 views
1

Привет, Я разрабатываю пользовательский модуль для своей компании на Prestashop, и мне нужна помощь. Недавно я разработал тот же плагин на Magento, но здесь у меня возникли проблемы с событиями (также называемые динамическими крючками).Prestashop Back-Office динамические крючки (события) не работают

Я пытаюсь использовать динамические крючки на бэкэнд для управления запасами продуктов. Я не в состоянии поймать PrestaShop серверные события на моем модуле, несмотря я зарегистрировал крючки в моих установить() метод:

function install() { 
    if (parent::install() == false 
    || !$this->registerHook('home') 
    || !$this->registerHook('productFooter') 
    || !$this->registerHook('orderConfirmation') 
    || !$this->registerHook('shoppingCart') 
    || !$this->registerHook('actionProductDelete') 
    || !$this->registerHook('actionProductUpdate')) { 
    return false; 
} 
//default configuration values 
... 

и помещены специальные методы для каждого из них.

public function hookActionProductDelete($params) { ... } 

Я регистрирую весь процесс с обеих сторон. На моем модуле с firePHP и FileLoggerCore и на основных классах Prestashop, где события отправляются с в файле prestashop FileLoggerCore.

События, подобные (actionProductDelete), найденные в классе Product, отправляются, но я не могу их захватить.

Еще один момент, который я заметил, заключается в том, что имена крючков изменяются между версиями prestashop. В этой последней версии 1.5 есть намного больше крючков, чем в предыдущих. Можно использовать одинаковые крючки в версиях от 1,3 до 1,5?

Извините за мой английский и большое спасибо заранее.

+0

я могу пинговать вас на форуме, чтобы просить больше по этой теме? – pulkitsinghal

+0

уверен, нет проблем – jmventar

ответ

2
  1. проверить, если ваш модуль подключен в «администратор> Модули> позиций» на actionProductDelete крючок

  2. вы можете использовать старое имя крюка для совместимости PS 1.3-1.5, смотрите на ps_hook_alias таблице БД. Для крюка, который не существовал до 1,5, я думаю, что вам нужно переопределить для 1.4 & модификаций коды для 1.3

+0

Удаленные крючки продукта не зарегистрированы в модулях> ​​положения. – jmventar

+0

Я уверен, что ваш модуль уже был установлен до того, как вы добавите registerHook («actionProductDelete») в функцию установки. Вы можете повторно инициализировать модуль для повторной установки. – SJousse

+0

Большое спасибо, это был ключ. Просто переинициализируйте, и все работает нормально. Я все еще новичок в Престашопе. – jmventar

Смежные вопросы