
Начиная с Prestashop 1.4 стало возможным добавлять в систему собственные программные классы, которые переопределяют базовое поведение системы, не изменяя при этом родные классы системы. Такие переопределенные классы поставляются, как правило, с модулями, которые в своих директориях содержат набор файлов в поддиректориях «override/classes/*.php» и «override/controllers/*.php». Каждый разработчик модуля должен привести инструкцию по установки таких модулей, но если ее нет, то есть ли общая инструкция для этого?
Установка модуля иногда не так тривиальна, если модуль поставляется с программными классами, которые переопределяют обычное поведение 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).