Данный файл содержит основную информацию о модуле в следующем формате (построчно):
ключевое слово модуля (строчными латинскими буквами без пробелов)
код названия системы («2» для Standard, «3» для Extra, «4» для Community, «6» для E-Commerce, «8» для Corporate, «12» для Business)
версия системы NetCat, для которой изготовлен модуль (например, «3.6»)
номер патча, который должен быть установлен (например, строка «502» означает, что перед установкой модуля необходимо установить обновление с номером «502»)
название модуля на русском языке, обычно заменяется названием константы из языкового файла, например: NETCAT_MODULE_EXAMPLE.
зарезервировано
зарезервировано
описание модуля, обычно заменяется названием константы из языкового файла модуля, например: NETCAT_MODULE_EXAMPLE_DESCRIPTION.
Пример записи:
example 3 5.0 0 NETCAT_MODULE_EXAMPLE NETCAT_MODULE_EXAMPLE_DESCRIPTION
Данный файл содержит список файлов, которые входят в модуль помимо обязательных. Файлы указываются с полным путем от корня сайта. Например, если мы хотим, чтобы при установке в папку модуля "example" записался в файл test.php, то нам необходимо записать в files.txt следующую строку
/netcat/modules/example/test.php
При этом сам файл test.php должен находиться в архиве модуля в аналогичной папке - /netcat/modules/mymod/.
Файл содержит список констант модуля и их значения. На каждой строчке указывается по одной константе. При загрузке страниц сайта константы загружаются в двумерный массив $MODULE_VARS, первым индексом которого является ключевое слово модуля, а вторым – название константы. После установки модуля содержимое этого файла записывается в поле Parameters таблицы Module, а сам файл удаляется. В процессе эксплуатации модуля значения параметров (констант) можно изменять в режиме администрирования в настройках модуля.
Например, указываем в настройках модуля с ключевым словом "example" параметр SOME_VAR со значением 123.
В результате, при работе с компонентами, макетами дизайна или скриптами модулей, мы получаем элемент SOME_VAR в массиве $MODULE_VARS['modkeyword'] - $MODULE_VARS['example']['SOME_VAR']. Этому элементу будет присвоено значение «123».
Пример записи:
SOME_VAR=123
Данный файл содержит список SQL-запросов для БД, запускаемых при установке модуля. Каждая строка содержит по одному SQL-запросу.
Предположим, что модулю для работы необходима таблица «Example_Data». Для создания таблицы пропишите в файле запрос на её создание:
CREATE TABLE IF NOT EXISTS `Example_Data` ( `Data_ID` int(10) unsigned NOT NULL AUTO_INCREMENT, `Data_Text` text NOT NULL, PRIMARY KEY (`Data_ID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Важно! До версии 5.3 build 1416 каждая SQL команда должна быть одной строкой, без переносов.
Данный файл содержит две функции, контролирующие установку модуля.
Первая функция CheckAbilityOfInstallation() активизируется до установки модуля и проверяет, возможна ли эта операция. По умолчанию функция возвращает положительный результат. Вы можете модифицировать эту функцию, поставив туда проверку на все необходимые условия, и, если по каким-либо причинам система не удовлетворяет условиям установки модуля, Вы можете установить значение $result[Success] в 0, при этом указав сообщение об ошибке в $result[ErrorMessage]. В этом случае установка модуля произведена не будет.
Вторая функция InstallThisModule() производит действия, необходимые для установки модуля, помимо стандартных (распаковка архива, создание и запись в папку с модулем, посыл запросов в БД, создание соответствующей строчки в таблице Module). Вы можете дописать в эту функцию код, необходимый для установки вашего модуля; если установка не была произведена корректно, установите значение $result[Success] в 0, при этом указав сообщение об ошибке в $result[ErrorMessage]. В этом случае установка модуля произведена не будет.
В функции InstallThisModule(), в частности, можно произвести импорт компонента (XML-файла). Для этого необходимо записать в архив модуля файл компонента (*.xml) и воспользоваться функцией ParseClassFile($file), где $file – полный путь к XML-файлу. В качестве результата функция возвратит номер созданного компонента. Для генерации XML-файла воспользуйтесь функцией экспорта компонента.
Пример записи:
function CheckAbilityOfInstallation(){ return array('Success'=>1); } function InstallThisModule(){ return array('Success'=>1); }
Данные файлы являются основными скриптами модуля. Индексный файл производит необходимые действия, связанные с работой модуля, используя функции из файла function.inc.php, который подключается автоматически. Если в каком-либо из этих файлов нет необходимости, то они могут быть пустыми. Наличие каждого файла обязательно.
Файлы данного типа содержат все текстовые константы, используемые в модуле для обеспечения мультиязычности. Если ваш сайт, скажем, имеет еще и немецкий интерфейс, Вам необходимо создать файл ger.lang.php (в папке / netcat/admin/lang/ должен присутствовать файл ger.php).
Пример содержимого файла ger.lang.php:
define("NETCAT_MODULE_EXAMPLE", "Тестовый модуль"); define("NETCAT_MODULE_EXAMPLE_DESCRIPTION", "Описание тестового модуля");
По умолчанию файл должен присутствовать, он должен содержать следующие строки:
urlDispatcher.addRoutes( { } );
Если в модуле есть управляющий интерфейс (файл admin.php), то добавляется ещё одна строка с путём:
urlDispatcher.addRoutes( { 'module.имя_модуля': NETCAT_PATH+'modules/имя_модуля/admin.php' });
Обратите внимание, на значение «имя_модуля», вместо этого следует вписать ключевое слово модуля.
Описание возможностей описано в разделе «Элементы управления».
Комментарии 2
function InstallThisModule(){
return array('Success'=>1);
return true;
}
второй return явно лишний.
п 4.3