1. Создаём файел test.php в директории engine/modules/test.php 2. Создаём файел config.test.php в директории engine/data/config.test.php 3. Создаём файел test.tpl кидаем в ту тему которая у вас по умолчанию
Как видим, в данном модуле все переменные берутся из файла engine/data/config.test.php, и далее уже по известному сценарию мы подгружаем шаблон и производим замену переменных на их значения. В нашем случае будет производится три замены. Файл engine/data/config.test.php на самом начальном этапе необходимо создать. Его содержимое может быть пустым и в дальнейшем при управление модулем через админпанель код файла engine/data/config.test.php будет генерироваться автоматически.
На этом можно считать, что фундамент построен и можно двигаться дальше. Займёмся созданием панели администрирования. Для этого откроем файл engine/inc/options.php и увидим в нём двумерный массив $options. Этот массив отвечает за формирования разделов в админпанели движка.
Code
$options['config'] – отвечает за разделы в блоке «Настройки скрипта» $options['user'] – отвечает за разделы в блоке «Управление пользователями» $options['templates'] – отвечает за разделы в блоке «Управление шаблонами» $options['filter'] – отвечает за разделы в блоке «Управление фильтрами» $options['others'] – отвечает за разделы в блоке «Другие разделы»
Добавим к ним свой собственный, но для начала разберёмся в структуре массива раздела
Code
array( 'name' - Переменная, отвечающая за название раздела 'url' - Переменная, отвечающая за ссылку на раздел 'descr' - Переменная, отвечающая за описание раздела 'image' - Переменная, отвечающая за картинку раздела 'access' - Переменная, отвечающая за доступ к разделу ),
Теперь, если вы зайдёте в админпанель, то увидите в категории «Другие разделы» и ваш, только что созданный тестовый раздел. Одно но, иконка не отображается, и красный крест вместо неё мало радует глаз. А в чём проблема, давайте зайдём в папку engine/skins/images и загрузим туда любую иконку, которая вам нравится, и назовём её test.png. Желательно чтобы её размеры были 48*48, тогда, в админпанели будет царить гармония и симметрия. С разделом вроде разобрались, теперь сделаем возможным вход в данный раздел в админпанели, для этого нужно открыть доступ на файл администрирования, который мы пока не создали, но для дальнейших действий данный шаг является первоочередным. Итак, открываем файл admin.php любым текстовым редактором и видим там массив
Code
$system_modules
Без тени сомнения добавляем туда и наш будущий файл администрирования модуля test_adm, а если быть более точным, вам необходимо добавить строку
Code
'test_adm'=> 'admin'
Данная строка показывает, что файл test_adm.php будет доступен только админам. На этом мы разобрались со всеми доступами и можем приступить к созданию файла администрирования, о котором уже столько было сказано. Итак, заходим в папку engine/inc и создаём там файл test_adm.php. Открываем данный файл в текстовом редакторе и добавляем туда следующий текст:
Это самое сердце модуля в данном сценарии реализуется, как графическая веб-форма панели администрирования, так и сохранение введенных данных. В начале мы подключаем файлы test.functions.php и config.test.php. В первом из них реализованы функции, которые отвечают за создание дизайна админпанели, благодаря ним мы имеем более доступный код, неотегащённый лишним html кодом. Приведу листинг файла test.functions.php, который будет необходимо создать в папке engine/inc.
Code
<?php if (!defined('DATALIFEENGINE')) { die("Hacking attempt!"); }
/** * Элементы дизайна админпанели */ function opentable() {
Далее необходимо создать пустой файл config.test.php в папке engine/data (не забудте установить на этот файл права chmod =777). Теперь снова приступим к разбору файла test_adm.php. После подключения файлов мы видим код отвечающий за сохранение введенных данных в веб-форме. Массив данных переданных методом POST заносится в файл config.test.php. Кроме того помимо переданных данных я решил включить в массив статические переменные не требующие частых изменений, в данном случае это переменная
Code
'version' => "v.1.0",
она будет неизменной при изменения других данных через веб-форму. И наконец, чтобы антивирус движка не ругался при сканирование сервера, нужно отредактировать файл antivirus.php, располагающийся в папке engine/ajax. Открываем его в текстовом редакторе, и в длинную череду данных массива
Ну что могу ещё сказать вроде всё, ничего не забыл. Можно попробовать вводить различные данные в веб-форме и в результате вы будете получать различный вывод на сайте. Надеюсь что данные примеры, помогут вам в освоение технологии создания модулей для DataLife и в скором времени вы сможет писать более сложные проекты.