Opencart 3 - не устанавливаются дополнения
В Opencart 3 не работают модификаторы ocmod - разбираемся в ситуации
В новой версии Opencart 3.x есть встроенный редактор шаблонов (Theme Editor) с помощью которого можно вносить изменения в код прямо в админке! Никаких фтп редакторов и т.п. Удобно? А как же!
Но не все так просто. Есть очень досадный баг. Когда мы редактируем через Theme Editor какой-то файл шаблона его код записывается в базу данных и после этого изменения вносимые в физический файл или с помощью модификаторов ocmod просто игнорируются.
Соответственно если вы изменили все файлы шаблона через редактор в админке то ни один модуль на сайте не будет работать т.к. ocmod модуля не сможет прописаться в файле и заработать. Вернее ocmod сработает, но не будет учитываться при генерации страницы движком.
К счастью, в сообществе Opencart есть разработчик который исправил эту проблему AlexDW за это его огромное спасибо :) Он создал модуль который исправляет этот баг и после его применения при использовании модификаторов будут учитываться изменения сделанные через Theme Editor
Скачать этот фикс можно в его дополнениях.
Обратите внимание:
Если вы плохо понимаете как работает система модификаций в Opencart - не используйте Theme Editor вообще
Помните, что изменение файлов шаблона может привести к проблемам в работе использующих их дополнений.
Особенности:
- актуален для Opencart версии 3.0.2.0
- после применения патча при правках файлов шаблонов через Theme Editor нужно:
1. обновить кеш модификаторов в Extensions > Modifications
2. обновить кеш шаблона (theme cache) в Dashboard > Developer Settings для применения изменений
Также если не в этом была проблема посмотрите еще варианты из-за чего сделанные изменения могут не срабатывать:
- Не сохранили файл, да, такое бывает когда фтп отключается или интернет пропадет
- Работы велись в кеше и после обновления код удаляется, и такое бывает
- Не обновили кеш шаблона, на главной в правом верхнем углу
- Не обновили кеш модификатора
- Не обновили кеш в модуле кеширования например jet cache
- Если идет модификация через ocmod - возможно искомая строка не найдена, смотрите логи ocmod
- На сервере включено кеширование, например opcache
- Не выспались :)