вверх
29/07 2017
назад

Часть 3. Регистрация модуля в системе

Опишем файл «/ix_guestbook/include.php»:

<?

require_once ($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/ix_guestbook/classes/general/ix_guestbook.php");

 

?>

Это описание позволит в дальнейшем автоматически использовать собственный класс с какой-то функциональностью в программном коде, если в публичной части сайта написать что-то вроде

if (CModule::IncludeModule(“ix_guestbook”)) …

Мелочь, а приятно. На реальном содержимом ix_guestbook.php пока подробно останавливаться не будем. Пусть там будет некая пустышка, необходимая лишь в качестве заготовки:

<?

 

class CIX_Guestbook {

        function Dummy()

        {

                return;

        }

 

}

 

?>

Теперь переходим к файлу «/ix_guestbook/install/index.php». Это основной файл для регистрации собственного модуля для Битрикса. Приведем его код целиком:

<?

global $MESS;

 

$strPath2Lang = str_replace("\\", "/", __FILE__);

$strPath2Lang = substr($strPath2Lang, 0, strlen($strPath2Lang)-strlen("/install/index.php"));

include(GetLangFileName($strPath2Lang."/lang/", "/install/index.php"));

include($strPath2Lang."/install/version.php");

 

Class ix_guestbook extends CModule

{

        var $MODULE_ID = "ix_guestbook";

        var $MODULE_VERSION;

        var $MODULE_VERSION_DATE;

        var $MODULE_NAME;

        var $MODULE_DESCRIPTION;

 

        function ix_guestbook()

        {

                $this->MODULE_VERSION = IX_GB_VERSION;

                $this->MODULE_VERSION_DATE = IX_GB_VERSION_DATE;

                $this->MODULE_NAME = GetMessage("IX_GB_MODULE_NAME");

                $this->MODULE_DESCRIPTION = GetMessage("IX_GB_MODULE_DESC");

        }

 

        function DoInstall()

        {

                RegisterModule("ix_guestbook");

        }

 

        function DoUninstall()

        {

                UnRegisterModule("ix_guestbook");

        }

 

}

?>

Код подключения текстовых констант целиком заимствован из существующих модулей БУС, и мы бы рекомендовали использовать его и для ваших модулей. Сами константы необходимо положить в каталоги, привязанные к конкретным языкам системы по следующему шаблону:

«/[module_name]/lang/[language]/install/index.php»

То есть, для русских констант путь к файлу будет таким:

«/ix_guestbook/lang/ru/install/index.php».

Содержимое файла включает в себя всего пять строковых констант:

<?

$MESS ['IX_GB_MODULE_NAME'] = "Гостевые книги";

$MESS ['IX_GB_MODULE_DESC'] = "Модуль для создания гостевых книг";

$MESS ['IX_GB_DENIED'] = "Доступ закрыт";

$MESS ['IX_GB_ADD_RECORD'] = "Посетитель";

$MESS ['IX_GB_MODERATOR'] = "Модератор";

?>

Обратите внимание на «/ix_guestbook/install/version.php»:

<?

define("IX_GB_VERSION","1.0.0");

define("IX_GB_VERSION_DATE","2005-02-25 16:00:00");

?>

Этот файл подключается строчкой include($strPath2Lang."/install/version.php") и позволяет нам удобно менять номер версии модуля в случае дальнейших обновлений.

В файле «/ix_guestbook/install/index.php» описывается один единственный класс, название которого должно совпадать с названием модуля. Этот класс обязан иметь конструктор (в нашем случае, function ix_guestbook()), в котором присваиваются такие основные параметры модуля, как его название, описание, номер и дата версии. Помимо этого класс модуля обязан иметь два метода: DoInstall и DoUninstall. Полагаем, что их смысл очевиден – они подключают и отключают модуль в ядре БУС.

На этом приготовления модуля, в общем-то, заканчиваются. Если мы зайдем в список доступных модулей в разделе «Администрирование», то обнаружим, что нам уже предлагают установить наш модуль в системе.

Рис. 2. Список модулей системы.

Доставка полезной информации от экспертов по Битрикс24!

Подпишитесь, и раз в неделю у вас на почте будет подборка полезных советов и обзоров про Битрикс24

Выберите рассылку

Created by potrace 1.13, written by Peter Selinger 2001-2015

Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов: