Спецификация создания нового модуля
В данном документе "modname" является именем модуля.
Файлы модулей распологаются в двух директориях:
- /modules/modname/* - пользовательские файлы (frontend)
- /admin/modules/modname/* - файлы администрирования модуля, доступ защищен (backend)
Файлы каждого модуля находятся в директории, которая является его именем (не названием). Например, "/modules/price", имя модуля - "price". В директории модуля
могут содержаться любые файлы.
Пользовательские файлы
/modules/modname/big.php
Файл развёрнутого вида модуля, используется для отображения на центральной панели.
/modules/modname/small.php
Файл краткого вида модуля. Вставляется на правую или левую панель сайта.
/modules/modname/mod_data.php
Файл с названием и версией модуля. Пример:
/modules/modname/module.css
CSS для модуля. Всегда подключается при отображении сайта, т.е. стили могут быть использованы в любом месте сайта, даже из других модулей. Все названия стилей желательны в формате "имямодуля_названиестиля", например, "price_header".
/modules/modname/icon.png
Файл иконки модуля для отображения в панели, для отображения прозрачности цветовая модель должна быть Indexed, не RGB.
/modules/modname/inheader.php
Файл будет включаться каждый раз при отображении любой страницы сайта до вывода какого-либо текста. Т.е. сюда можно помещать код связанный с HTTP редиректами, cookie и т.д.
/modules/modname/consts_descr.php
Описание настроек модуля на нескольких языках.
Пример:
/modules/modname/lang.ru.php, lang.en.php, lang.*.php
Файлы с языковыми строковыми перменными. Но вам надо будет их самим подключать из big.php или small.php, например так:
Обязательными файлами являются только "mod_data.php" и "icon.png", остальные создаются исходя из задач модуля.
Файлы "big.php", "small.php", "inheader.php" не требуют специального включения в себя "db.php" и "consts.php", все включения уже сделаны в "index.php".
Если из "small.php" надо сделать ссылку на "big.php" (а на сайте у "modules/modname/big.php" URL скорее всего не big.php, а просто "modname"), то надо сделать так:
Файлы администрирования
/admin/modules/modname/admin.php
Файл админиcтрирования модуля. Если существует, то ссылка на него появляется в меню панели управления в секции активных модулей (и если модуль активен). Также необходимо в этом файле включать header.php и footer.php для отображения в дизайне панели, а также для использования всех PHP и Javascript функций.
<? $_TITLE = "Modname title"; include $_SERVER["DOCUMENT_ROOT"]."/admin/header.php";?>
<? include $_SERVER["DOCUMENT_ROOT"]."/admin/footer.php";?>
/admin/modules/modname/install.php Если желаете автоматизировать установку модуля, то здесь производятся установочные действия. Если файл существут, то появится иконка "Уствновить" напротив модуля в панели. Как прило, файл содержит SQL скрипт создания скелета в базе для его работы (именно его таблиц). Иногда содержит скрипт добавления себя в карту сайта и константы. Никаких возвратов об ошибках или die() по ошибке, это лишнее.
Пример:
|