Opencart 3 - не устанавливаются дополнения

В Opencart 3 не работают модификаторы ocmod - разбираемся в ситуации

октябрь 30 , 2018

В новой версии 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
  • Не выспались :)
 Если изменения вносите в файл а они не работают, пройдитесь по этим пунктам наверняка где-то и кроется причина.