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

    Проекты, написанные с использованием 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" (весь специфичный для проекта код):

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

      <project_name>/themes/theme_<project_name>

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

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

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

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

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

    Related content

    3.2.1. Конфигурационные файлы
    3.2.1. Конфигурационные файлы
    More like this
    2.3. Константы
    2.3. Константы
    More like this
    Developers Guide (Russian) Home
    Developers Guide (Russian) Home
    More like this
    1.3. Site Configs
    More like this
    2.2. Протекание Процессов в Приложении
    2.2. Протекание Процессов в Приложении
    More like this
    2.6.1. Обработка XML документов
    2.6.1. Обработка XML документов
    More like this