Бэк-офис Хук не работает, хотя его уволили - PullRequest
0 голосов
/ 21 сентября 2018

Итак, недавно я начал работать с Presta, и все в фронт-офисе летело отлично, но в бэк-офисе возникли сложности.

Я пытаюсь подключиться к действию ActionAdminCustomerFormModifier , которое запускается в AdminController.php вот так Hook::exec('action'.$this->controller_name.'FormModifier', array(..., где action'.$this->controller_name.'FormModifier обозначает actionAdminCustomersFormModifier.

Будучи хорошим ребёнком, я зарегистрировал его ($this->registerHook('actionAdminCustomersFormModifier'), как и любой другой хук для фронт-офиса), создал функцию в классе основного модуля (public function hookActionAdminCustomersFormModifier), но, к моему ужасу, он никогда не запускался.

Я использую PrestaShop 1.7.4

РЕШЕНИЕ

Итак, я просто набрал public function hookActionAdminFormModifier, зарегистрировал actionAdminControllerFormModifier и перегрузил.Моя проблема была, я думаю, я подключил свою IDE напрямую к серверу presta, и, вероятно, у меня были некоторые проблемы, когда я зарегистрировал новый хук.Итак, я переустановил свой модуль, и все полетело как шарм.

1 Ответ

0 голосов
/ 21 сентября 2018

В prestashop 1.7 обновлен список хуков;полный список доступен здесь

Поскольку вы пытаетесь использовать hook с именем action<AdminControllerName>FormModifier и хотите использовать его для контроллера AdminCustomers;кажется, что вы должны использовать полное имя контроллера, например AdminCustomersController.

Таким образом, вы должны сначала зарегистрировать свой хук в методе install(), как показано ниже;

$this->registerHook('actionAdminCustomersControllerFormModifier')

, и вам нужно сделать функциюимени

public function hookActionAdminCustomersControllerFormModifier()

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

Надеюсь, это будет полезно для вас!

...