UMIhelp

Разработка дополнительного функционала => Custom макросы => Тема начата: andrey от 31 Января 2014, 14:32:09

Название: Новый формат расширения функционала для макросов административного интерфейса
Отправлено: andrey от 31 Января 2014, 14:32:09
http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/razrabotka_sobstvennyh_makrosov_i_modulej/novyj_format_rasshireniya_funkcionala/

Как расширить для обычного интерфейса вопросов нет. А как для административного? Как должен называться файл? admin.php или __admin.php?
Как должен называться класс и от чего наследоваться?
Название: Re:Новый формат расширения функционала для макросов административного интерфейса
Отправлено: e.ioffe от 31 Января 2014, 15:14:27
Не думаю, что это возможно, так как скрипты рассчитаны на публичную часть, а не на админку.

По админке можете посмотреть здесь - http://wiki.umisoft.ru/%D0%9F%D0%BE%D0%B4%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%D0%BA%D0%B0%D1%81%D1%82%D0%BE%D0%BC%D0%BD%D1%8B%D1%85_%D0%BC%D0%B0%D0%BA%D1%80%D0%BE%D1%81%D0%BE%D0%B2_%D0%B8_%D1%81%D0%BE%D0%B1%D1%8B%D1%82%D0%B8%D0%B9_%D0%B4%D0%BB%D1%8F_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D0%B5%D0%B9
Название: Re:Новый формат расширения функционала для макросов административного интерфейса
Отправлено: admin от 31 Января 2014, 19:42:26
по умолчанию код написанный в файле class.php в вашем модуле внуьри папки с шаблоном доступен и для лицевой части сайта и для административной. Посмотрите как в стандартных модулях происходит разделение макросов на админские и лицевые...

например в модуле каталог (/classes/modules/catalog/class.php)

public function __construct() {
parent::__construct();

if(cmsController::getInstance()->getCurrentMode() == "admin") {
$this->__loadLib("__admin.php");
$this->__implement("__catalog");

$this->__loadLib("__custom_adm.php");
$this->__implement("__custom_adm_catalog");
} else {
$this->per_page = regedit::getInstance()->getVal("//modules/catalog/per_page");

$this->__loadLib("__custom.php");
$this->__implement("__custom_catalog");

$this->autoDetectAttributes();
}

$this->__loadLib("__search.php");
$this->__implement("__search_catalog");

}

такую функцию можно добавлять и ваш файл для расширения функционала в папке с вашим шаблоном (см туже статью, блок  "Распределение кода" (http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/razrabotka_sobstvennyh_makrosov_i_modulej/novyj_format_rasshireniya_funkcionala/#separate))

а как определить какой сечас режим можно подсмотрев из кода выше ... if(cmsController::getInstance()->getCurrentMode() == "admin") {...