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

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


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


Заготовки кода деклараций и настроек модуля

При установке экземпляра модуля, в системные файлы автоматически дописывается код объявление модуля и создаются записи настроек модуля.

Конфигурация модуля обязана содержать заготовку для добавления кода объявления модуля, declaration/declaration.php

Объявление модуля в заготовке выглядит следующим образом:

// Задается раздел и позиция модуля в меню
$oDeclarator->startConfig('##section##', ##taborder##);
 
// Объявляется главный экземпляр модуля с идентификатором ##modId##
$oDeclarator->register('##hypermod##', '##config##', '##modId##', '', AMI_ModDeclarator::INTERFACE_ADMIN | AMI_ModDeclarator::INTERFACE_FRONT);

Для того чтобы экземпляр модуля был корректно установлен, и в дальнейшем мог получать обновления, ему необходимо задать обязательные атрибуты:

// Идентификатор дистрибутива
$oDeclarator->setAttr('##modId##', 'id_pkg', '##pkgId##');
 
// Идентификатор установки
$oDeclarator->setAttr('##modId##', 'id_install', '##installId##');

Если модуль содержит набор подмодулей, то они так же должны быть объявлены в этом файле:

// Объявляется экземпляр модуля с идентификатором ##modId##_submodule и родительским модулем ##modId##
$oDeclarator->register('##hypermod##', '##config##', '##modId##_submodule', '##modId##', AMI_ModDeclarator::INTERFACE_ADMIN | AMI_ModDeclarator::INTERFACE_FRONT);

Заготовки кода добавления настроек экземпляра модуля размещаются в файлах declaration/properties.php, declaration/options.php, declaration/rules.php

Пример заготовок кода настроек:

declaration/properties.php

if($oDeclarator->isRegistered('##modId##')){
    $oMod = $oDeclarator->getModule('##modId##');
 
    $oMod->setProperty('taborder', $oDeclarator->getTabOrder('##modId##'));
    $oMod->setProperty('user_property', 'property_value');
}

declaration/options.php

if($oDeclarator->isRegistered('##modId##')){
    $oMod = $oDeclarator->getModule('##modId##');
    $oMod->setOption('option_bool', false);
}

declaration/rules.php

if($oDeclarator->isRegistered('##modId##')){
    $oMod = $oDeclarator->getModule('##modId##');
    $oMod->addRule('option_bool', AMI_Module::RLT_BOOL, AMI_Module::RLC_NONE, FALSE);
}
Установка и настройка Руководство пользователя Интеграция дизайна Разработчикам (API)
 2000 – 2021 © Amiro.CMS Все права защищены.