+1 голос
от (610 баллов) в категории Исключение неисправностей
открыт от
Начиная с Prestashop 1.4 стало возможным добавлять в систему собственные программные классы, которые переопределяют базовое поведение системы, не изменяя при этом родные классы системы. Такие переопределенные классы поставляются, как правило, с модулями, которые в своих директориях содержат набор файлов в поддиректориях «override/classes/*.php» и «override/controllers/*.php».

Каждый разработчик модуля должен привести инструкцию по установки таких модулей, но если ее нет, то есть ли общая инструкция для этого?

1 Ответ

+2 голосов
от (610 баллов)
выбран от
 
Лучший ответ

Установка модуля иногда не так тривиальна, если модуль поставляется с программными классами, которые переопределяют обычное поведение PS, так как у PS1.4 и более поздних версий есть свои нюансы по установки таких модулей. Из-за этого следует перед инсталляцией (кнопка Install) модуля выполнить некоторые действия. Для современных версий, в лучшем случае, инсталляция модуля потребует нажатия одной кнопки, а в PS1.4 потребуется немного больше ручной работы.

1 Если у вас Prestashop 1.5 или более поздняя.

1.1 Перейдите в директорию «/override» вашей инсталляции PS. Проверьте, есть ли во вложенных директориях файлы, название которых совпадает с файлами из соответствующих вложенных директорий модуля.

1.2 Если таких файлов нет, то инсталлируйте модуль, не опасаясь возможных неприятностей (файлы новых классов будут автоматически скопированы в директорию «/override»).

1.3 Вероятно, что потребуется дополнительно обновить кэш зарегистрированных классов после успешной установки – см. вопрос «Как обновить кэш зарегистрированных программных классов в Prestashop?».

1.4 Если условие пункта 1.2 не выполняется, то сделайте бэкап директории «/override» и, затем, инсталлируйте модуль.

1.5 Если инсталлятор рапортовал ошибку вроде «The method XXX in the class YYY is already overridden», то восстановите файлы из бэкапа и далее см. вопрос «Как в Prestashop разрулить конфликт слияния методов в переопределенных классах или как объединить переопределенные классы?».

2 Если у вас Prestashop 1.4.

Все пункты установки модуля на PS1.4 почти не отличаются от установки на более современные PS, но в отличие от них в PS1.4 инсталлятор не копирует переопределенные классы, поставляемые модулем, в директорию «/override» и, конечно, не пытается объединить поставляемые классы с уже существующими классами в  «/override», поэтому эту работу нужно проделать вручную (то есть после пункта 1.2).

Добро пожаловать на сайт. Здесь можно задавать вопросы по CMS PrestaShop и получать на них ответы.
...