Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Проекты, написанные с использованием 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)

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

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

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

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

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

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

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

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

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

...

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

...

  • Code Block
    <project_name>/themes/theme_<project_name>
Info

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

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

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

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

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