In-Portal Developers Guide

This is a wiki-based Developers Guide for In-Portal Open Source CMS. The purpose of this guide is to provide advanced users, web developers and programmers with documentation on how to expand, customize and improve the functionality and the code the In-Portal software. Please consider contributing to our documentation writing effort.

K4:Структура директорий

From In-Portal Developers Guide

Jump to: navigation, search

Структура приложения Структура приложения
Статьи в этой категории

Проекты, написанные с использованием 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>
Image:Infobox Icon.gif Файлы в остальных папках изменять и делать commit запрещено.

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

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

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