Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Продление демо версии или перенос на новый демо хостинг

Автор rob1nРаздел Установка UMI.CMS

Ответов: 7
Просмотров: 4309
Последний ответ 01 Марта 2016, 11:00:30
от Rodogor
Новая новость или новый товар с пометкой "новинка"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 17
Просмотров: 8530
Последний ответ 17 Сентября 2014, 12:05:14
от tonal
Добавление события в новый метод?

Автор muldyРаздел Макросы UMI.CMS

Ответов: 4
Просмотров: 2888
Последний ответ 05 Августа 2016, 12:06:18
от muldy
JS+AJAX - формат цены без суффикса и префикса

Автор samРаздел JS и AJAX

Ответов: 3
Просмотров: 4115
Последний ответ 20 Октября 2014, 00:45:31
от sam
Как прописать title, description, keywords при отображение кастомого функционала

Автор atachРаздел Custom макросы

Ответов: 5
Просмотров: 3370
Последний ответ 11 Апреля 2017, 13:34:57
от Vladimir

0 Пользователей и 1 Гость просматривают эту тему.

*

andrey

  • *
  • 31
  • +6/-0
    • Просмотр профиля
http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/razrabotka_sobstvennyh_makrosov_i_modulej/novyj_format_rasshireniya_funkcionala/

Как расширить для обычного интерфейса вопросов нет. А как для административного? Как должен называться файл? admin.php или __admin.php?
Как должен называться класс и от чего наследоваться?

*

e.ioffe

  • ****
  • 369
  • +81/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
по умолчанию код написанный в файле 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");

}

такую функцию можно добавлять и ваш файл для расширения функционала в папке с вашим шаблоном (см туже статью, блок  "Распределение кода")

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