![]() |
При создании дополнения полезным будет использовать Ruxe Engine API.
1. Файловая структура дополнения.
Все дополнения располагаются в каталоге /includes/plugins/. Они могут использовать папку /conf/ для хранения своих настроек. Изменять системные файлы запрещается.
В дополнении должны быть как минимум эти три вышеуказанных файла. Можно также размещать и другие, необходимые для правильного функционирования или оформления выводимого результата. Рассмотрим каждый элемент по отдельности.
Элемент | Описание |
название_дополнения | Имя папки дополнения. Настоятельно рекомендуется использовать только английские буквы и/или цифры. Каждая новая папка - новое дополнение. |
admin.php | В данном файле находится код, который автоматически подключается (через include) в Админ-центре, в разделе "Дополнения". Примечание:страница дополнения не будет отображаться до тех пор, пока дополнение не будет включено (Админ-центр => Другие модули => Дополнения => Настроить => название_дополнения => Включить). |
functions.php | Этот файл подключается (через include) после обработки системного файла functions.command.php. В нём находятся команды дополнения. |
info.dat | В этом файле находится справочная информация о дополнении (название, версия, описание, автор, адрес сайта дополнения, параметр использования промежуточных страниц). |
2. Пример содержимого файла admin.php.
<?
/*
То, что пользователь может увидеть на странице дополнения, должно быть в переменной $print. Не следует допускать прямой вывод на страницу.
*/
$print = "Тут могли бы быть настройки дополнения";
?>
3. Пример содержимого файла functions.php.
<?
/*
Если существует $_GET['action'] при запросе страницы, то система сравнивает с своей базой действий значение $_GET['action'] и, если не находит соответствие, выдаёт ошибку ("Действие не найдено").
Вы можете добавить своё действие. Для этого в info.dat переменная $addaction должна равняться единице ($addaction = 1;). Вашим действием станет имя каталога дополнения (в данном случае example). В действии обязательно должны использоваться переменные $openpage и $pagetitle. $openpage = текст страницы, а $pagetitle - заголовок.
Пример:
function here_example()
{
echo '<a href="?action=example">Проверка</a>';
};
if (isset($_GET['action']))
{
if ($_GET['action']=="example")
{
$openpage = "Проверка пройдена!";
$pagetitle = "Сообщение";
};
};
В действии можно включить автоматическую переадресацию. Но в этом случае страница действия не будет отображена, если отключена опция показа промежуточных страниц в админ-центре, а будет сразу переадресация на указанный адрес. Для включения автоматической переадресации необходимо заполнить переменную $pageredirect.
Пример:
function here_example()
{
echo '<a href="?action=example">Проверка</a>';
};
if (isset($_GET['action']))
{
if ($_GET['action']=="example")
{
$openpage = "Проверка пройдена!";
$pagetitle = "Сообщение";
$pageredirect = "http://mysite.domain";
};
};
*/
function here_example()
{
echo "Hello World!";
};
if (isset($_GET['action']))
{
if ($_GET['action']=="example")
{
$openpage = "привет";
$pagetitle = "Тест";
$pageredirect = "http://engine.ruxesoft.net";
};
};
?>
Пример содержимого файла info.dat.
<?
/*
Справочная информация о дополнении
$name - имя Вашего дополнения
$version - версия
$description - описание
$author - имя автора
$site - адрес сайта дополнения
$addaction - доступные значения 1 и 0. Включает и отключает соответственно использование промежуточных страниц для дополнения.
*/
$name = "Тестовый модуль";
$version = "1.0";
$description = "Пример дополнения";
$author = "Ruxe Engine";
$site = "http://engine.ruxesoft.net/";
$addaction = 1;
?>