Подключение кастомных макросов и событий для модулей — различия между версиями
VITL' (обсуждение | вклад) |
VITL' (обсуждение | вклад) |
||
Строка 1: | Строка 1: | ||
[[category:Написание кастомных макросов]] | [[category:Написание кастомных макросов]] | ||
− | Кастомный макрос прописывается в файле __custom.php, в папке для соответствующего модуля, т.е. допустим в папке classes/modules/catalog/ для модуля каталог. Также, для того чтобы макрос работал не только для супервайзера, но и для пользователя Гость, необходимо создать в той же папке файл permissions.custom.php и в нем прописать подобный код: | + | Кастомный макрос прописывается в файле '''__custom.php''', в папке для соответствующего модуля, т.е. допустим в папке classes/modules/catalog/ для модуля каталог. Также, для того чтобы макрос работал не только для супервайзера, но и для пользователя Гость, необходимо создать в той же папке файл permissions.custom.php и в нем прописать подобный код: |
<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: |
Версия 18:06, 29 августа 2010
Кастомный макрос прописывается в файле __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");