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


Новая документация

Настройка платежных систем
Настройка способа оплаты КупиВкредит
Настройка способа оплаты Acquiro
Настройка способа оплаты AvisoSMS

Обновленная документация 

Разработчикам (API)
Руководство пользователя

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

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

Начиная с версии 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 – 2011 © Amiro.CMS Все права защищены.