Установка расширений Opencart 3 – очень непростое занятие. В отличии от того же WordPress, где процесс установки плагинов максимально прост и демократичен и чем-то напоминает установку приложений в iPhone, в Опенкарте всё вообще не так и первое время это бесит. Хотя нет, это бесит до сих пор, несмотря на то, что разработчики пытаются облегчить этот процесс и сделать его хоть как-то похожим на WordPress и даже прикрутили бесполезный репозиторий с криво работающим функционалом.
Что ж там такого ужасного в установке модулей под Опенкарт?
Содержание
С чего начать установку модуля в Opencart 3
После того как вы купили модули для Опенкарта фактически вы имеете обычный zip архив, который называется «что-то-там.ocmod.zip» и чаще всего состоит из папки UPLOAD и файла install.xml
В папке upload обычно содержатся собственные файлы модуля, которые рассовываются по структуре опенкарта (папки admin, catalog, system), и install.xml – он содержит модификатор имеющихся файлов (фактически встраивает свой кусок кода в стандартные системные файлы опенкарт) и добавляется прямо в базу данных.
Именно этот архив и надо грузить в установщик расширений Оперкарта 3 (хоть не надо по FTP грузить как в некоторых прошлых версиях). При заливке фактически будут добавлены файлы и создан новый модификатор этого модуля.
Дождитесь подтверждения, что всё успешно получилось – это такая зеленая полоска. Значит файлы и модификатор успешно загружены и конфликтов не вызвали.
Обновляем модификаторы
Итак, архив загружен, теперь нужно обновить модификаторы, чтобы применить код модуля к системным файлам. Для этого жмём кнопку обновить в пункте «Модификаторы».
После этого понадобится очистить кэш.
Для этого дела я рекомендую добавить специальный модуль очистки кеша их много в инете и они бесплатные, чтобы не рыскать по Опенкарту, а очищать все кэши и обновлять модификаторы одним кликом.
Добавим разрешения для пользователя
Многие модули добавляют свои пункты в меню админ-панели. И по умолчанию они будут не видны. Чтобы их открыть потребуется добавить в группу пользователей разрешение на это.
Если не уверены, добавляет ли расширение чего-то там в меню или нет, проще всё равно добавить все разрешения на чтение и запись для админа.
Включаем модуль
Чаще всего после установки модуль выключен. Его надо найти в списке среди отключенных расширений и включить его.
Если он нуждается в настройке – то настроить по инструкции автора.
Можете также посмотреть видео, где я устанавливаю расширение в Опенкарт.
Почему не устанавливается модуль в Opencart 3
Чаще всего это происходит от того, что авторы вкладывают один архив в другой, ну, например, в один архив складывают версию и для Opencart 2 и для Opencart3, выглядит это вот так:
В этом случае будет выдаваться ошибка неправильного формата архива – то есть Opencart не увидит нужный файл внутри и станет ругаться «Неправильный тип файла!»
Если у вас совсем свежая система с Опенкарт и вы устанавливаете модуль в первый раз, то он может ругнуться: «Этот каталог admin/controller/catalog не доступен для записи!»
Почему не работает модуль Opencart 3
Очень часто установленный модуль просто не работает. Причина обычно кроется именно в модификаторах, которые призваны отредактировать стандартные системные файлы, дописав в них нужные модулю скрипты.
Для этого модификатор ищет знакомый код (который используется в дефолтной теме Опенкарт) и добавляет туда свой «хвост».
А теперь представьте, что вы используете шаблон, который настолько отличается от дефолтного, что в нём просто нет никакого знакомого для модификатора модуля кода. В этом случае модуль не сможет найти куда дописать свой код и толком работать не будет.
Из этого можно сделать такие заключения:
- На дефолтном шаблоне вероятность успешной работы модуля 99,9%. Авторы модулей тестируют их именно на дефолтном шаблоне. Но дефолтный шаблон просто «никакой» по дизайну и функционалу, поэтому проблемы с установкой и работой модулей Opencart на других шаблонах была, есть и скорее всего, будет.
- Чаще всего эта проблема возникает именно на внешней стороне сайта, потому что именно фронтенд чаще всего является сильно измененным в шаблонах – за это люди и платят, покупая шаблон, чтобы он был не похож на дефолтный :cool:Поэтому если вам нужно установить модуль, который что-то там меняет в визуале магазина (например, добавляет таймер обратного отсчета в товары, или делает опции связанными с картинками, или меняет порядок вывода товаров и т.п.) и у вас используется нестандартный шаблон, то по моим прикидкам в 80-90% случаев он нормально не встанет – надо будет править файлы модификаторов с учетом особенностей конкретного шаблона, делается это вручную и, конечно, не бесплатно.
- Если модуль рассчитан исключительно на админку магазина (например, массовые изменения в ценах товаров, расширенный менеджер товаров, автоматические сео урл и т.п.), то он в большинстве случаев после установки работает успешно именно потому, что авторы шаблонов почти никогда не меняют системные файлы админки и код модификатора модуля легко прописывается в них.
Среди других причин того, что модуль Опенкарт не работает после установки:
- Некорректная версия PHP – попробуйте поменять версию на другую, иногда даже смена 7.3 на 7.2 может творить чудеса
- В сборке PHP нет каких-то важных библиотек. Тут без логов сервера вы вряд ли обойдетесь – мой совет: напишите автору и параллельно хостеру, кто-нибудь из них обязательно поможет.
- Просто плохой хостинг – сделать ничего нельзя, только переехать на хороший хостинг.
- Конфликт с имеющимися модулями – сложная проблема, так как авторы модулей очень даже могут пинать и отфутболивать вас друг к другу, параллельно рассказывая какие все криворукие рукожопы и засоряя ваш мозг неинтересной технической информацией. Да и найти ошибку действительно может быть нелегко. В этом случае разумнее будет с вашей стороны давить того автора, чей модуль ставили последним, напирая на то, что «до него всё работало как часы». Ну или в крайнем случае просить вернуть деньги за купленное расширение.
Как удалить модуль Opencart 3
Если в старых версиях Опенкарт удалить модуль было фактически никак нельзя – разве что по одному файлику перебирать и вручную удалять, то в Опенкарт 3 чтобы удалить модуль достаточно зайти в «Установка расширений» - найти там нужный модуль и удалить его.
Если модуля нет в управлении расширениями – посмотрите изначальный архив, может модуль вообще не имеет файлов и состоит только из модификатора, в этом случае нужно найти модификатор и отключить или удалить именно его.
Если по какой-то причине информации об установленном модуле в админке нигде нет, то автоматически вы его никак не удалите.
Выводы и итоги
Установить модуль на Опенкарт 3 несложно, а вот заставить его работать – иногда просто адская задача
- Будьте готовы к тому, что 90% всех визуальных модулей, которые вы планируете поставить, банально не заработают. И самим заставить его работать у вас скорее всего не получится, потому что нужны будут знания кода + свободное время для тестов. Так что я рекомендую не жмотиться и сразу покупать фронтенд модули с установкой или заказывать отдельно установку расширения на кворке (тут самые дешевые цены на адаптацию модуля к Опенкарт).
- Если модуль чисто для админки – скорее всего всё будет и так нормально, покупайте только сам модуль, в большинстве случаев он легко установится и заработает без дополнительных усилий.
- Обязательно сделайте бекап сайта (файлов и базы данных) или купите нормальный хостинг с автоматическим бекапом, если что-то пойдет не так, вы сможете быстро вернуть магазин в исходное состояние – посмотрите видео как делать бекап базы на Opencart.
Кстати, в моём готовом магазине на Опенкарт уже есть много полезных доработок + гарантия и техподдержка
Ну или будьте готовы вложиться в установку и настройку нужных вам модулей конкретно для своего магазина Опенкарт, вы быстро поймете, что в большинстве случаев это не просто кликнуть на ссылку "установить модуль", надеюсь в будущих релизах этот процесс всё же станет проще и толковее.