Как установить модуль, ocmod модификатор или дополнение в Opencart 3
Важно! Не забываем после каждого изменения настроек, что бы эти изменения применились на сайте, очищать кэши модификаторов, Темы и SASS. В некоторых случаях так же нужно очищать кэш и cookies вашего браузера.
Особенности установки расширений через стандартный установщик Опенкарт 3 в панели администратора
По умолчанию в Опенкарт 3 загружать файлы через установщик расширений разрешено только в следующие директории:
'admin/controller/extension/', 'admin/language/', 'admin/model/extension/', 'admin/view/image/', 'admin/view/javascript/', 'admin/view/stylesheet/', 'admin/view/template/extension/', 'catalog/controller/extension/', 'catalog/language/', 'catalog/model/extension/', 'catalog/view/javascript/', 'catalog/view/theme/', 'system/config/', 'system/library/', 'image/catalog/'
Если при установке расширения индикатор загрузки загорелся красным цветом, и появилось сообщение «Директория XXX не доступна для записи», Вам необходимо загрузить бесплатное дополнение Localcopy OCMOD для Opencart 3, а затем снова повторить загрузку данного модуля.
Как установить ocmod модификатор?
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Войти
Уже зарегистрированы? Войдите здесь.
Больше способов поделиться.
Похожие публикации
[Підтримка] Яндекс.Касса + Деньги 1 2 3 4 7
- яндекс.касса
- яндекс.деньги
- (и ещё 2)
- яндекс.касса
- яндекс.деньги
- онлайн оплата
- ocstore
фикс [Поддержка] Фикс переполнения лога модификаторов
- ocmod
- модификатор
- (и ещё 4)
фикс Фикс переполнения лога модификаторов
- ocmod
- модификатор
- (и ещё 4)
[Поддержка] Дата рождения OpenCart / ocStore
Автор: SSHEVA, 9 мая 2023
Дата рождения OpenCart / ocStore
Автор: SSHEVA, 9 мая 2023
Сейчас на странице 0 пользователей
- Нет пользователей, просматривающих эту страницу.
Покупцям
- Оплата розширень фізичними особами
- Оплата розширень юридичними особами
- Політика повернень
Розробникам
- Регламент розміщення розширень
- Регламент продажу та підтримки розширень
- Віртуальний обліковий запис автора
- Політика просування оголошень
- API каталогу розширень
- Вирішення спорів щодо авторських прав
Корисна інформація
- Публічна оферта
- Політика повернень
- Політика конфіденційності
- Платіжна політика
- Політика передачі особистих даних
- Політика прозорості
Останні розширення
![]()
![]()
![]()
![]()
![]()
Движок интернет магазина OpenCart (ocStore) — официальный сайт OpenCartForum.com Powered by Invision Community
- Уже зарегистрированы? Войти
- Регистрация
Раздел покупок
ocStore
- Назад
- Официальный сайт
- Демо ocStore 3.0.3.2
- Демо ocStore 2.3.0.2.4
- Скачать ocStore
- Документация
- История версий ocStore
Шаблоны
OpenCart.Pro
- Создать.
Важная информация
На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.
Модуль Менеджер модификаторов OCmod Opencart 3.0
Менеджер модификаторов OCmod — очень полезный модуль для любого администратора сайта на Opencart 3.x. Вы сможете быстро и удобно редактировать или создать модификацию в редакторе с подсветкой кода, адаптировать ocmod.xml под ваш шаблон, увидеть лог ошибок модификаций в удобном виде.
Редактор модификаций полезный не только для разработчиков и программистов, но и для обычных пользователей админки Opencart — ведь в любое время может понадобиться сделать какие-то правки в модификации какого то модуля.
Инструкция по установке:
1. Загрузить архив через Установку модулей в админке
2. Обновить модификации
- Opencart 3.0.0.0
- Opencart 3.0.1.1
- Opencart 3.0.1.2
- Opencart 3.0.2.0 или ocStore 3.0.2.0
- Opencart 3.1.0.0
- Opencart 3.0.3.1
- Opencart 3.0.3.2
- Opencart 3.0.3.3
- Opencart 3.0.3.6
- Opencart 3.0.3.7 и OcStore 3.0.3.7
- Opencart 3.0.3.8
- Opencart 4.0.0.0
- Opencart 4.0.1.0
- Opencart 4.0.1.1
- Opencart 4.0.2.0
- Opencart 4.0.2.1
- Opencart 4.0.2.2
- Opencart 4.0.2.3
Скачайте и установите дополнение Localcopy OCMOD
После установки этого дополнения нужно перейти в раздел Модификаторы и нажать кнопку «Обновить модификаторы». После этого можно устанавливать другие модули.
Возможно несколько проблем и вариантов их решения:
1. Не сброшен кеш шаблона — нужно обновить кеш [скриншот]
2. Вы раньше редактировали файлы шаблона через админку в разделе «Редактор темы», тогда этот файл сохранился в базе данных и на него уже не влияют ocmod-модификаторы, это проблема Opencart 3. Вам нужно установить фикс [скачать] и обновить модификации в админке.
3. Ваш шаблон устроен на TPL-файлах (*.tpl), в то время, когда в Opencart 3 шаблоны должны быть в формате TWIG (*.twig). Проблема в том, что ocmod-модификаторы не влияют на TPL-файлы — все изменения нужно вносить в эти файлы вручную.
Нужно включить вывод всех ошибок php на экране — для этого в файле .htaccess в конце нужно добавить строки:
php_value display_errors 1
php_value display_startup_errors 1
php_value error_reporting E_ALL
Теперь вместо ошибки 500 должен отображаться код ошибки, который укажет на проблему.
В официальных сборках Opencart 3.0.3.5 — 3.0.3.6 есть баг — там модификаторы не работают с twig-файлами из-за ошибки в стандартном модификаторе /system/modification.xml — вторая операция из этого модификатора не срабатывает.
Проблема есть на оф. гитхабе и предложено решение https://github.com/opencart/opencart/blob/3.0.x.x_Maintenance/upload/system/modification.xml
Мы сделали фикс-модификатор по этим рекомендациям, он заменит файл /system/modification.xml на правильный.
Решение проблемы:
1. Сделайте резервную копию вашего файла /system/modification.xml
2. Скачайте фикс-модификатор по ссылке и установите его у себя в админке
3. Обновите кэш модификаторов
4. Обновите кэш twig-шаблонов
Модификаторы OCMOD в Opencart

Модификаторы в OpenCart представляют собой особый тип модулей, которые позволяют вносить изменения в функциональность или дизайн без вмешательства в оригинальные файлы системы. Это обеспечивает стабильность основных файлов OpenCart, в то же время позволяя модифицировать или расширять возможности платформы. В данной статье будет описано, как создать собственный модификатор для OpenCart и какие возможности предоставляют модификаторы.
Первоначально, концепция модификаторов была введена с vQmod в версии 1.5 OpenCart, а затем она была улучшена и превращена в OCMOD, который стал стандартным функционалом OpenCart, начиная с версии 2.1. Таким образом, модификатор в OpenCart — это инструмент для внесения изменений в систему без непосредственного воздействия на основные файлы.
Модификатор OpenCart является модулем в виде XML-файла, который содержит ряд указаний о том, какие изменения в коде оригинальных файлов OpenCart необходимо произвести: заменить, добавить или удалить. OpenCart выполняет эти инструкции путем создания дубликатов исходных файлов в отдельной папке (кэш модификаторов) и вносит изменения в эти копии. Таким образом, при использовании сайта применяются измененные файлы вместо оригинальных.
OCMOD-модификатор может действовать как независимый модуль, модифицирующий или расширяющий стандартные возможности, или быть частью полнофункционального модуля, включающего дополнительные php, twig, js, css и другие файлы.
Имена файлов и директории
Имя файла модификатора — должно быть задано в соответствии с шаблоном .ocmod.xml , где вместо вы пишите свое название. Таким образом имя файла всегда должно заканчиваться «.ocmod.xml», иначе система не «увидит» модификатор и проигнорирует его.
Исключение : когда предполагается использовать модификатор в составе полного модуля в виде архива — в этом случае имя файла-модификатора в архиве должно быть install.xml.
Расположение файла модификатора — папка system в корне сайта. Файл-модификатор так же можно загрузить в базу данных на постоянное размещение с помощью загрузки расширений. Тем не менее, во время разработки удобнее записать файл в system и редактировать его там, проверяя какой получается результат, а когда разработка завершена, модификатор загружают как модуль в базу данных.
Расположение кэша модификаторов — папка /storage/modification с такой же структурой, как корень сайта. Т.е. если вы сделали модификатор для файла /admin/controller/catalog/product.php то его измененная копия будет находится в /storage/modification/admin/controller/catalog/product.php . В нем вы и увидите те изменения которые производит ваш модификатор.
Расположение логов — папка /storage/logs В ней есть 2 основных лог-фала: ocmod.log — который показывает как обрабатывались файлы-модификаторы, в какой последовательности и как выполнялись инструкции и лог-файл error.log — который содержит ошибки, произошедшие при преобразовании.
Обновление кэша модификаторов
Чтобы система распознала файлы-модификаторы и применила их инструкции, нужно нажать кнопку «Обновить» на странице модификаторов.
Иногда после обновления кэша изменения на сайте не отображаются. Обычно это происходит из-за того, что на сайте используются дополнительные кэширующие модули или инструменты для ускорения загрузки и прочее, где, возможно, также требуется обновление кэша.
Синтаксис модификатора OCMOD
Файл модификатора OCMOD должен содержать общую описательную часть и инструкции по изменению файлов. Начну разбор синтаксиса с простого примера, который добавляет слово «Test» в шапке администраторского раздела:
Test Test1.0 Test http://www.test.ru]]> Тест ]]>
Итак, данный пример модификатора меняет файл header.twig. Он находит строчку «» и после нее добавляет «
Тест
«.
В одном xml-файле может быть любое количество секций и соответственно, мы можем менять множество файлов одним модификатором.
Разберем каждый тег модификатора и его возможности поподробнее.
File
Указывает в каком файле или файлах нужно внести изменения. Обязательный атрибут path содержит путь до изменяемого файла. Может указывать на один файл или на несколько. Для указания нескольких файлов используется символ «|». Например, внести изменения в action.php и в loader.php
Для сокращения кода можно использовать фигурные скобки, которые позволяют указать несколько значений через запятую:
Так же можно использовать символы «*» и «?», чтобы указать путь по «маске». Часто бывает полезно для модификации файлов-шаблонов.
Т.к. мы не знаем заранее, какие именно темы установлены в OpenCart, мы указали «*» после «theme» и тогда будут модифицироваться все product.twig во всех темах.
Operation
Указывает начало секции производимой модификации. Внутри File секций может быть несколько. Т.е мы можем делать сразу несколько изменений в одном файле. Тег Operation может иметь необязательный атрибут error, который может принимать значения:
- skip — в случае ошибки пропустить текущую секцию и перейти к следующей
- log (по-умолчанию) — в случае ошибки пропустить всю секцию и перейти к следующему
- abort — в случае ошибки прервать все модификации в xml-файле
Например, найти в файле header.twig текст «navbar-rightnav» и если его нет, тогда пропустить и перейти к следующей операции и найти «navbar-right»:
Если не указывать атрибут error=»skip», тогда на первом поиске текста «navbar-rightnav» вся секция была бы прервана и проигнорирована.
Search
Указывает какой текст необходимо найти в текущей операции. Есть несколько правил использования тега:
- Тег Search может быть использован только 1 раз внутри секции Operation.
- Поиск можно делать только 1 строки целиком или части строки (нельзя искать несколько строк одновременно).
- Искомый текст необходимо размещать между
- Пробелы и переносы строки до искомого текста и после искомого текста игнорируются (поэтому искомый текст можно написать или сразу после CDATA или с новой строки после CDATA, как больше нравится), если только не указан атрибут trim=»false» (описание ниже).
- Изменения выполняются над всеми найденными в файле строками (или частями строк), если только не указан атрибут index (описание ниже).
Специальные теги — используются в xml-файлах для указания любых символьных данных, что означает, что между ними может находиться какой угодно текст, содержащий скобки, значи больше, меньше и другие, в т.ч. и php-код, html-код и т.д.
Для более точного определения места внесения изменений в теге Search могут использоваться атрибуты:
- index — указывает в каком по-порядку найденном тексте сделать изменения. Т.е. если в файле искомый текст встречается несколько раз, тогда index позволяет указать номер найденного по порядку текста (0 — первый найденный текст, 1 — второй и т.д.) Можно так же указать несколько номеров через запятую.
- trim — указывает игнорировать (true) или нет (false) пробелы и переносы строк до и после искомого текста.
- regex — если установлено значении true, значит искомый текст представляет собой регулярное выражение для поиска.
Пример: добавить пункт меню «ТЕСТ».
'menu-test', 'icon' => 'fa-play', 'name' => 'TEST', 'href' => '#' ); ]]>
В данном примере находим первое «$data[‘menus’][] = array(» и перед ним добавляем свой код.
Add
Тег содержит текст, который будет добавлен до/после найденного или на который будет заменен найденный текст.
Так же как и тег Search, должен содержать и ]]> между которыми пишется текст кода, который будет добавляться/заменяться.
В теге Add могут использоваться атрибуты:
- position — может принимать значения:
- replace (по умолчанию) — замена найденного текста
- before — добавить текст перед найденным текстом
- after — добавить текст после найденного текста
Пример: Добавить слово «Test» в админ-панели в списке товаров.
Test ]]> Находим 2-й по порядку текст «panel-body» (первый — это фильтр справа от товаров, а второй — сам список товаров) и затем добавляем код «
Test
» на одну строку ниже найденного текста.
Обратите внимание : position=»before» и position=»after» добавляют код не в середину строки, где было найдено «panel-body», а в следующую (или предыдущую) строку. Если нужно сделать добавление в середине строки, следует использовать position=»replace» и повторив тот же самый найденный текст мы добавляем свой.
Пример: Добавить текст перед версией opencart-а в футере
]]> Test> ]]> Создав модификатор OCMOD в OpenCart-е можно изменить практически всю систему, расширить ее возможности, при этом исходные файлы не будут затронуты и вы можете всё вернуть в первоначальный вид, просто убрав файл-модификатор (или отключив его, если он был загружен в базу данных).