2.1. Структура директорий
Проекты, написанные с использованием K4 имеют модульную структуру. Каждый модуль представляет из себя директорию, находящуюся в корневой директории сайта. У всех модулей одинаковая структура поддиректорий, которая показана ниже:
Название директории | Описание |
---|---|
| Директория, в которой находятся шаблоны модуля, используемые в административной консоли. |
| Директория, в которой находятся изображения общей применяемости модуля. |
| Директория в которой находятся пиктограммы для отображения в левом меню (дереве) в административной консоли и над списками. Подробнее о том, как должны называться файлы, находящиеся в этой директории, написано здесь. |
| Директория, в которой находятся пиктограммы, отображаемые рядом с каждой записью в списке записей (только для In-Portal). Название файлов, находящихся в этой директории должны начинаться с префикса " |
| В данной директории находятся пиктограммы для каждой кнопки на панели инструментов, которая уникальна для конкретного модуля. О том, как называть пиктограммы, используемые на панели инструментов написано здесь. |
| В этой директории находятся файлы, используемые для установки конкретного модуля. |
| Директория, содержащая PHP код. |
Ниже применяются следующие сокращения:
prefix - префикс от unit config в единственном числе, напр. event (в единственном числе, из-за правил английского языка)
prefixx - префикс от unit config, только во множественном числе
helper - класс помощник (наследник от класса kHelper)
Расположение файлов
для каждого префикса создаётся директория
prefixx
(напр.themes
)в этой директории должен быть как минимум один файл -
<directory_name>_config.php
, содержащий unit configвсе остальные файлы в директории называются согласно правилу названия файлов
также, в директории
units
от модуля, можно создать 2 независимые директорииhelpers
иsections
. В директориюhelpers
надо класть все независимые (т.е., те с которыми будет работать не только один prefix) helpers. В директориюsections
нужно класть все классы, которые заменяют другие классы. Для обеих директорий соответственно надо создать (или скопировать из другого проекта) unit configs.в корневой директории модуля (напр. custom) можно создать файл constants.php в котором можно задать все необходимые для конкретного проекта константы.
Какие файлы можно менять
Допускается изменение файлов в следующих директориях:
директория модуля
"custom"
(весь специфичный для проекта код):<project_name>/custom
директория с темой для Front-End:
<project_name>/themes/theme_<project_name>
Файлы в остальных папках изменять и делать commit запрещено.
В отдельных случаях, напр. когда
требуемой функциональности не достичь без изменения файлов K4
требуется сделать частичный upgrade проекта (для экономии времени)
можно менять остальные файлы, но предварительно требуется получить разрешение от своего руководителя.