Как обновить переопределение класса при обновлении модуля до новой версии в Prestashop?

Допустим, есть модуль с версией 0.1.

Этот модуль уже имеет переопределения, примененные, например, к классам / Cart.php.

Появляется новое требование, и мы вносим изменения в уже переопределенные классы / Cart.php.

Чтобы применить новое изменение, мы обновляем версию модуля до 0.2, но после обновления Prestashop не применяет новые переопределения. Я также попытался поместить сценарий обновления в папку обновления, которая, как я подтвердил, выполняется, но старое переопределение все еще там.

Как применить новые изменения без переустановки модуля?

3

Решение

В методе обновления вы можете запустить в последовательности uninstallOverrides и installOverrides, это приведет к установке состояния ваших переопределений в текущей версии.

Файл upgrade / upgrade-1.1.0.php:

function upgrade_module_1_1_0($module)
{
$module->uninstallOverrides();
$module->installOverrides();
return true;
}
1

Другие решения

Я думаю, что единственный способ — вручную удалить и скопировать новый файл переопределения в папку / переопределить, убедившись, что текущий перезаписанный файл действительно ваш (контрольная сумма md5 p.ex.).

-1

По вопросам рекламы [email protected]