Подключение кастомных макросов и событий для модулей — различия между версиями

Материал из Umicms
Перейти к:навигация, поиск
 
(не показаны 3 промежуточные версии 1 участника)
Строка 1: Строка 1:
  [[category:Написание кастомных макросов]]
+
  [[category:Написание кастомных макросов]] [[category:API]]
Кастомный макрос прописывается в файле __custom.php, в папке для соответствующего модуля, т.е. допустим в папке classes/modules/catalog/ для модуля каталог. Также, для того чтобы макрос работал не только для супервайзера, но и для пользователя Гость, необходимо создать в той же папке файл permissions.custom.php и в нем прописать подобный код:
+
Кастомный макрос прописывается в файле '''__custom.php''', в папке для соответствующего модуля, т.е. допустим в папке classes/modules/catalog/ для модуля каталог. Также, для того чтобы макрос работал не только для супервайзера, но и для пользователя Гость, необходимо создать в той же папке файл '''permissions.custom.ph'''p и в нем прописать подобный код:
 
<source lang="php">
 
<source lang="php">
 
<?php
 
<?php
Строка 16: Строка 16:
 
Также можно просмотреть файл permissions.php
 
Также можно просмотреть файл permissions.php
  
Кастомные события регистрируются в файле custom_events.php, аналогично тому как это сделано в файлах events.php. Код обработчика события прописывается в файле __custom.php
+
Кастомные события регистрируются в файле '''custom_events.php''', аналогично тому как это сделано в файлах events.php. Код обработчика события прописывается в файле __custom.php
  
 
'''Важный момент''', если вы подключаете кастомный макрос для режима admin, то в таком случае, скорее всего, необходимо будет подключать метод в файле __custom_adm.php:
 
'''Важный момент''', если вы подключаете кастомный макрос для режима admin, то в таком случае, скорее всего, необходимо будет подключать метод в файле __custom_adm.php:
Строка 29: Строка 29:
 
</source>
 
</source>
  
Абсолютно точно это можно узнать по методу конструктору (__construct()) модуля, обычно для режима admin подключается файл __custom_adm.php, а в других случаях файл __custom.php
+
Абсолютно точно это можно узнать по методу конструктору ( __construct() ) модуля, обычно для режима admin подключается файл __custom_adm.php, а в других случаях файл __custom.php
 +
 
 +
Есть особенность для модуля "Конфигурация", название абстрактного класса в файле __custom_adm.php должно быть следующим: __custom_adm . Это определяется по параметру метода __implement, т.е. для модуля "Конфигурация" прописан такой код (class.php):
 +
<source lang = "php">
 +
$this->__loadLib("__custom_adm.php");
 +
$this->__implement("__custom_adm");
 +
</source>

Текущая версия на 12:09, 3 октября 2011

Кастомный макрос прописывается в файле __custom.php, в папке для соответствующего модуля, т.е. допустим в папке classes/modules/catalog/ для модуля каталог. Также, для того чтобы макрос работал не только для супервайзера, но и для пользователя Гость, необходимо создать в той же папке файл permissions.custom.php и в нем прописать подобный код:

<?php
$permissions = Array('view' => Array('metod1','metod'));
?>

metod1 и metod2 – это ваши кастомные методы, 'view' – тут должен быть указан индекс группы, доступ к которой разрешен для пользователя Гость, допустим для модуля Новости это группа view, это можно определить по настройкам пользователя Гость и фалу i18n.php, в котором есть такие строки:

'perms-news-view' => 'Просмотр новостей',
'perms-news-lists' => 'Управление новостями',
'perms-news-publish' => 'Возможность публикации'

Также можно просмотреть файл permissions.php

Кастомные события регистрируются в файле custom_events.php, аналогично тому как это сделано в файлах events.php. Код обработчика события прописывается в файле __custom.php

Важный момент, если вы подключаете кастомный макрос для режима admin, то в таком случае, скорее всего, необходимо будет подключать метод в файле __custom_adm.php:

<?php
abstract class __custom_adm_название_модуля {
//TODO: Write here your own macroses (admin mode)


};
?>

Абсолютно точно это можно узнать по методу конструктору ( __construct() ) модуля, обычно для режима admin подключается файл __custom_adm.php, а в других случаях файл __custom.php

Есть особенность для модуля "Конфигурация", название абстрактного класса в файле __custom_adm.php должно быть следующим: __custom_adm . Это определяется по параметру метода __implement, т.е. для модуля "Конфигурация" прописан такой код (class.php):

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