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
Current revision (12:20, 15 March 2015) (view source)
 
(One intermediate revision not shown.)
Line 1: Line 1:
 +
{{Transferred|url = http://community.in-portal.org/pages/viewpage.action?pageId=14155807}}
 +
{{toc | category = Структура приложения | sortkey = 001.001}}
{{toc | category = Структура приложения | sortkey = 001.001}}
-
Projects written using K4 have a module-based structure. Each module is a directory in the root directory of the site. All modules have the same sub-directory structure, as described below:
+
Проекты, написанные с использованием K4 имеют модульную структуру. Каждый модуль представляет из себя директорию, находящуюся в корневой директории сайта. У всех модулей одинаковая структура поддиректорий, которая показана ниже:
{| class="prettytable"
{| class="prettytable"
! название || описание
! название || описание
|-
|-
-
| <code>module/admin_templates</code> || Directory that contains module templates used for the administrative console.
+
| <code>module/admin_templates</code> || Директория, в которой находятся шаблоны модуля, используемые в административной консоли.
|-
|-
-
| <code>module/admin_templates/img</code> || Directory that contains images used by the module.
+
| <code>module/admin_templates/img</code> || Директория, в которой находятся изображения общей применяемости модуля.
|-
|-
-
| <code>module/admin_templates/img/icons</code> || Directory where the icons used in the left tree menu and above grids in the administrative console are located. The specifics about how the files in this directory should be named are written [[K4:Добавление секций в дереве#icon|here]].
+
| <code>module/admin_templates/img/icons</code> || Директория в которой находятся пиктограммы для отображения в левом меню (дереве) в административной консоли и над списками. Подробнее о том, как должны называться файлы, находящиеся в этой директории, написано [[K4:Добавление секций в дереве#icon|здесь]].
|-
|-
-
| <code>module/admin_templates/img/itemicons</code> || The directory which contains the icons that are show next to each record in the list of records (only for In-Portal). The names of the files in this directory must start with the prefix "<code>icon16_</code>" and follow [[K4:Назначение имён|naming convention]] rules.
+
| <code>module/admin_templates/img/itemicons</code> || Директория, в которой находятся пиктограммы, отображаемые рядом с каждой записью в списке записей (только для In-Portal). Название файлов, находящихся в этой директории должны начинаться с префикса "<code>icon16_</code>" и подчиняться правилам [[K4:Назначение имён|назначения имён]].
|-
|-
-
| <code>module/admin_templates/img/toolbar</code> || This directory contains icons for each button in the toolbar, which is unique to each module. How to name icons used in the toolbar is written [[K4:Добавление кнопки в панель инструментов#title|here]].
+
| <code>module/admin_templates/img/toolbar</code> || В данной директории находятся пиктограммы для каждой кнопки на панели инструментов, которая уникальна для конкретного модуля. О том, как называть пиктограммы, используемые на панели инструментов написано [[K4:Добавление кнопки в панель инструментов#title|здесь]].
|-
|-
-
| <code>module/install</code> || This directory contains files used for installation of the specific module.
+
| <code>module/install</code> || В этой директории находятся файлы, используемые для установки конкретного модуля.
|-
|-
-
| <code>module/units</code> || Directory that contains PHP code.
+
| <code>module/units</code> || Директория, содержащая PHP код.
|}
|}
----
----
Line 22: Line 24:
-
The following abbreviations will be used below:
+
Ниже применяются следующие сокращения:
-
  '''prefix''' - prefix of [[K4:Unit Configs|unit config]] in '''singular form''', for example, event (singular because of rules of the English language)
+
  '''prefix''' - префикс от [[K4:Unit Configs|unit config]] в '''единственном числе''', напр. event (в единственном числе, из-за правил английского языка)
-
  '''prefixx''' - prefix from the unity config, only plural
+
  '''prefixx''' - префикс от unit config, только во множественном числе
-
  '''helper''' - class helper (child of class kHelper)
+
  '''helper''' - класс помощник (наследник от класса kHelper)
 +
 
 +
== Расположение файлов ==
 +
* для каждого префикса создаётся директория <code>'''prefixx'''</code> (напр. <code>'''themes'''</code>)
 +
* в этой директории должен быть как минимум один файл - <code>'''''<directory_name>''_config.php'''</code>, содержащий unit config
 +
* все остальные файлы в директории называются согласно правилу названия файлов
 +
* также, в директории <code>units</code> от модуля, можно создать 2 независимые директории <code>helpers</code> и <code>sections</code>. В директорию <code>helpers</code> надо класть все независимые (т.е., те с которыми будет работать не только один prefix) helpers. В директорию <code>sections</code> нужно класть все классы, которые заменяют другие классы. Для обеих директорий соответственно надо создать (или скопировать из другого проекта) unit configs.
 +
* в корневой директории модуля (напр. custom) можно создать файл '''constants.php''' в котором можно задать все необходимые для конкретного проекта [[K4:Константы|константы]].
 +
 
 +
== Какие файлы можно менять ==
 +
Допускается изменение файлов в следующих директориях:
 +
* директория модуля <code>"custom"</code> (весь специфичный для проекта код) <source lang="bash"><project_name>/custom</source>
 +
* директория с темой для Front-End <source lang="bash"><project_name>/themes/theme_<project_name></source>
 +
{{InfoBox|Файлы в остальных папках изменять и делать commit запрещено.}}
-
== Location of Files ==
+
В отдельных случаях, напр. когда
-
* a directory is created for each prefix <code>'''prefixx'''</code> (for example <code>'''themes'''</code>)
+
* требуемой функциональности не достичь без изменения файлов K4
-
* this directory must contain, minimally, one file - <code>'''''<directory_name>''_config.php'''</code>, which is the unit config
+
* требуется сделать частичный [[K4:Обновление проектов|upgrade]] проекта (для экономии времени)
-
* all other files in the directory are named corresponding to file naming conventions
+
можно менять остальные файлы, но предварительно требуется получить разрешение от своего руководителя.
-
* also, in the <code>units</code> directory of the module, it's allowed to create two independent directories <code>helpers</code> and <code>sections</code>. All the independent helpers (i.e. those with which more than one config may work) should be put in the <code>helpers</code> directory. All classes that are replacing other classes must be put in the <code>sections</code> directory. Correspondingly, unit configs must be created (or copied from another project) for both directories.
+
-
* in the root directory of the module (for example, custom) a file can be created called '''constants.php''', in which all [[K4:Константы|constants]] necessary for the project can be placed.
+
-
== Which files can be changed ==
 
-
Files can be changed only in the following directories:
 
-
* files in the directory of the module <code>"custom"</code> (all code specific to the project) <source lang="bash"><project_name>/custom</source>
 
-
* files in the directory for the Front-End theme <source lang="bash"><project_name>/themes/theme_<project_name></source>
 
-
{{InfoBox|Changing and committing files in other directories is prohibited}}
 
-
In some cases there are exceptions to the above rules, for example when
+
[[ru:{{FULLPAGENAME}}]]
-
* the required functionality can't be realized without changes to K4 files
+
[[en:K4:Folder Structure]]
-
* a partial [[K4:Обновление проектов|upgrade]] is being done for a project (to saved time), in which case all other files can be changed, but with care, and with permission of your management
+

Current revision


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

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

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