Разработка модуля для OpenCart с использованием git

19.03.2021

При разработке модуля для любой CMS может потребоваться система управления версиями (скорее всего так и будет). OpenCart оказался не исключением, но нестандартным движком, даже в плане контроля версий модулей. Все дело в организации файловой структуры движка.

Файловая структура OpenCart устроена таким образом, что конкретный модуль не имеет своей директории, однако может иметь один единственный файл, например admin/controller/extension/module/modula_name.php.

В большинстве случаев файлы модуля расположены в различных директориях среди файлов других модулей/расширений движка. При этом файлы могут быть как в admin так и в catalog контекстах. Контроллеры модели, шаблоны, вся файловая структура копонуется по типу файлов, в отличии от многих других CMS.

Все это доставляет проблемы для использовании системы управления версиями git.

Так как файлы модули не централизованы в директории, то разработка одного модуля возможна только на одном инстансе движка OpenCart, при использовании git: один модуль == один инстанс движка

Переходим в корневую папку сайта на OpenCart, размещенного на locahost и создаем новый репозиторий: git init.

Теперь создадим файл .gitignore, куда добавим *, то есть скажем игнорировать вообще все.

Затем добавим в индекс каждый файл по отдельности, например:

•••
plaintext
$ git add config.php Следующие пути игнорируются одним из ваших файлов .gitignore: config.php Используйте -f, если вы действительно хотите добавить их.

Пользуясь подсказкой добавляем все файлы модуля в индекс:

•••
plaintext
$ git add -f config.php

А дальше стандартная работа с git репозиторием.