Центр документации
Карта сайта

Создай визитку сам!


Самоучитель по интеграции дизайна и настройке Amiro.CMS на примере демонстрационной версии пакета Визитка »


Структура модуля

Модуль представляет собой совокупность кода, шаблонов, файлов локализаций (языковых переменных), изображений иконок модулей/спецблоков и таблиц в базе данных.

Начиная с версии 5.14.6 Amiro.CMS вводятся понятия "Гипермодуль", "Конфигурация гипермодуля" и "Экземпляр модуля".

Для сокращения трудозатрат на разработку модуля используется генератор решений.

Гипермодуль - кодовая и шаблонная основа модуля. Содержит код MVC компонент модуля, настройки и шаблоны.

Модуль, так же именутся как Конфигурация гипермодуля - наследник гипермодуля (либо другого модуля), содержит дополнения к функционалу, шаблонам и настройкам, именуемые конфигурацией гипермодуля, необходимые для создания экземпляров модуля конкретного типа.

Экземпляр модуля - экземпляр определенной конфигурации гипермодуля, устанавливаемый в систему. Каждый экземпляр модуля имеет уникальное имя-идентификатор, рекомендуется именовать все устанавливаемые экземпляры модулей с префиксом "inst_", например "inst_sample".

Например, "Новости" - это экземпляр модуля "Новости" с идентификатором news, "Дневник" - это экземпляр модуля "Блог" с идентификаторм blog.
Модули "Новости" и "Блог", в свою очередь, являются конфигурациями гипермодуля "Информационные ленты" (ami_multifeeds).

Код модуля

В качестве родительских классов новой конфигурации гипермодуля рекомендуется использовать гипермодуль "Базовый гипермодуль" (AmiClean), содержащий весь минимально необходимый функциональный набор классов модуля.

Имена классов гипермодуля AmiClean имеют вид Hyper_AmiClean_*, имена классов наследников именуются как AmiClean_{$modNameCamelCase}_*.

Например:

class AmiClean_AmiSample_Adm extends Hyper_AmiClean_Adm{
}
 
class AmiClean_AmiSample_Frn extends Hyper_AmiClean_Frn{
}

Код модуля разбит на несколько файлов, расположенных в каталоге "_local/modules/code":

Файл
Описание
AmiClean_AmiSample_AdmПолный набор классов модуля для панели управления
AmiClean_AmiSample_FrnПолный набор классов модуля для отображения на страницах сайта
AmiClean_AmiSample_MetaКласс получения информации о модуле
AmiClean_AmiSample_RulesКласс для управления настройками модуля
AmiClean_AmiSample_TableКлассы модели модуля
AmiClean_AmiSample_TableItemModifierКласс модификатора модели модуля, в большинстве случаев является пустым наследником

Шаблоны экземпляра модуля

Шаблоны экземпляра модуля доступны по путям "_local/_admin/templates/modules" (панель управления) и "templates/modules" (сайт).

Шаблоны экземпляра модуля для панели управления - это набор шаблонов компонент экземпляра модуля, которые имеют имена вида {$modId}_{$componentType}.tpl
где $modId - имя модуля, а $componentType - тип компоненты, которой принадлежит шаблон.

Шаблоны экземпляра модуля для отображения на сайте - это шаблон с именем {$modId}.tpl с которым работают все основные компоненты экземпляра модуля. При необходимости, отдельные компоненты экземпляра модуля могут работать и с собственными шаблонами, в таком случае именование шаблонов компонент аналогично именованию шаблонов компонент экземпляра модуля для панели управления.

Шаблон
Описание
inst_sample_list.tplШаблон компоненты списка для панели управления
inst_sample_filter.tplШаблон компоненты фильтра для панели управления
inst_sample_form.tplШаблон компоненты формы для панели управления
inst_sample.tplШаблон модуля для отображения на страницах сайта
inst_sample_specblock.tplШаблон спецблока модуля

Файлы языковых переменных экземпляра модуля

Файл
Описание
inst_sample_list.lngЯзыковые переменные компоненты списка для панели управления
inst_sample_filter.lngЯзыковые переменные компоненты фильтра для панели управления
inst_sample_form.lngЯзыковые переменные компоненты формы для панели управления
inst_sample_client.lngЯзыковые переменные групповых операций и client-side сообщений модуля для панели управления
inst_sample_messages.lngЯзыковые переменные статусных сообщений для панели управления
inst_sample.lngЯзыковые переменные модуля для отображения на страницах сайта
inst_sample_specblock.lngЯзыковые переменные спецблока модуля

Изображения

Иконка модуля, изображение спеблокам и иконки действий списка модуля находятся по пути "_local/_admin/images/{$modId}".

Таблицы в базе данных

Для того чтобы минимизировать изменения в коде модели, рекомендуется именовать таблицу в виде "cms_{$modId}", а поля таблицы именовать в соответствии со стандартным набором полей, принятым системными модулями Amiro.CMS

Структура таблицы экземпляра модуля inst_sample:

CREATE TABLE `cms_inst_sample` (
  `id` int(11) NOT NULL auto_increment,
  `public` tinyint(3) unsigned NOT NULL DEFAULT '1',
  `nickname` varchar(255) NOT NULL,
  `birth` date NOT NULL DEFAULT '0000-00-00',
  `views` int(3) unsigned NOT NULL DEFAULT '0',
  `lang` varchar(10) NOT NULL DEFAULT 'en',
  `about` TEXT,
  `phone` varchar(16) NOT NULL DEFAULT '',
  `email` varchar(64) NOT NULL DEFAULT '',
  `homepage` varchar(64) NOT NULL DEFAULT '',
  `file_name` varchar(255) DEFAULT NULL,
  `file_path` varchar(255) DEFAULT NULL,
  `sublink` varchar(255) NOT NULL
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2019 © Amiro.CMS Все права защищены.