Prestashop 1.7 hookActionObjectCustomerUpdateДо и после

Итак, мне интересно, почему если я в хук hookActionObjectCustomerUpdateBefore поставлю переменную (public) и прочитаю ее, то в хуке hookActionObjectCustomerUpdateAfter я ее потеряю. Даже если я назначу его как умную переменную.

Я запускаю эти хуки из модуля и в бэкенде.

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


person Elisa74    schedule 08.10.2018    source источник


Ответы (1)


Чтобы добавить общедоступную переменную в класс Customer, вы должны переопределить этот класс и добавить свою пользовательскую переменную. тогда вы сможете использовать его везде в PrestaShop. Вы не можете использовать «перехватчики действий» для добавления новых определений в PrestaShop. эти крючки сделаны только для действий.

person Mahdi Shad    schedule 08.10.2018
comment
Хорошо, у меня уже есть переопределение клиента для использования. Но если я использую hookActionObjectCustomerUpdateAfter, например, для вызова моей функции в клиенте, где я назначаю свою интеллектуальную переменную Customer::get_client_activebefore($customer-›active); эта переменная пуста, если я попытаюсь прочитать ее, например, в hookActionObjectCustomerUpdateAfter. Итак, как мне получить доступ к данным? - person Elisa74; 09.10.2018
comment
Ну я так понимаю, что эти хуки невидимы и поэтому не обращаются ни к какой переменной. Возможно, единственное решение - сохранить то, что мне нужно, в db. - person Elisa74; 09.10.2018