2.1. Структура директорий

Data Source Eng Data Source Confluence

Проекты, написанные с использованием K4 имеют модульную структуру. Каждый модуль представляет из себя директорию, находящуюся в корневой директории сайта. У всех модулей одинаковая структура поддиректорий, которая показана ниже:

название

описание

module/admin_templates

Директория, в которой находятся шаблоны модуля, используемые в административной консоли.

module/admin_templates/img

Директория, в которой находятся изображения общей применяемости модуля.

module/admin_templates/img/icons

Директория в которой находятся пиктограммы для отображения в левом меню (дереве) в административной консоли и над списками. Подробнее о том, как должны называться файлы, находящиеся в этой директории, написано здесь.

module/admin_templates/img/itemicons

Директория, в которой находятся пиктограммы, отображаемые рядом с каждой записью в списке записей (только для In-Portal). Название файлов, находящихся в этой директории должны начинаться с префикса icon16_ и подчиняться правилам назначения имён.

module/admin_templates/img/toolbar

В данной директории находятся пиктограммы для каждой кнопки на панели инструментов, которая уникальна для конкретного модуля. О том, как называть пиктограммы, используемые на панели инструментов написано здесь.

module/install

В этой директории находятся файлы, используемые для установки конкретного модуля.

module/units

Директория, содержащая PHP код.


Ниже применяются следующие сокращения:

  • prefix - префикс от unit config в единственном числе, напр. event (в единственном числе, из-за правил английского языка)

  • prefixx - префикс от unit config, только во множественном числе

  • helper - класс помощник (наследник от класса kHelper)

2.1.1. Расположение файлов

  • для каждого префикса создаётся директория prefixx (напр. themes)

  • в этой директории должен быть как минимум один файл - <directory_name>_config.php, содержащий unit config

  • все остальные файлы в директории называются согласно правилу названия файлов

  • также, в директории units от модуля, можно создать 2 независимые директории helpers и sections. В директорию helpers надо класть все независимые (т.е., те с которыми будет работать не только один prefix) helpers. В директорию sections нужно класть все классы, которые заменяют другие классы. Для обеих директорий соответственно надо создать (или скопировать из другого проекта) unit configs.

  • в корневой директории модуля (напр. custom) можно создать файл constants.php в котором можно задать все необходимые для конкретного проекта константы.

2.1.2. Какие файлы можно менять

Допускается изменение файлов в следующих директориях:

  • директория модуля «custom» (весь специфичный для проекта код)

    <project_name>/custom
    
  • директория с темой для Front-End

    <project_name>/themes/theme_<project_name>
    

Предупреждение

Файлы в остальных папках изменять и делать commit запрещено.

В отдельных случаях, напр. когда

  • требуемой функциональности не достичь без изменения файлов K4

  • требуется сделать частичный upgrade проекта (для экономии времени)

можно менять остальные файлы, но предварительно требуется получить разрешение от своего руководителя.

Предупреждение

Этот шаблон содержит поломанные ссылки.