Онлайн-руководство разработчика NetCat
Новогодние скидки до 25%!
Подробнее
Модуль «Поиск по сайту» 12.2.1Начало работы с модулем 12.2.2Язык запросов 12.2.3Способы хранения индекса 12.2.4Интерфейс модуля в панели управления сайтом 12.2.5Области индексирования 12.2.6Области HTML-страниц 12.2.7Области поиска на сайте 12.2.8Индексирование по расписанию, запуск индексирования в фоновом режиме 12.2.9Правила индексирования 12.2.10Постановка задачи переиндексирования в очередь 12.2.11Интеграция модуля в макеты дизайна сайта 12.2.12Простая форма поиска 12.2.13Расширенная форма поиска 12.2.14Вывод результатов поиска 12.2.15Стилизация списка подсказок 12.2.16Расширенные настройки 12.2.17Разработка расширений модуля 12.2.18Обзор архитектуры модуля 12.2.19Обработчики документов различных типов 12.2.20Текстовые фильтры 12.2.21Анализаторы текста 12.2.22Корректировщики запросов 12.2.23Подключение других поисковых систем 12.2.24Решение проблем с поиском 12.2.25Решение проблем с индексированием 12.2.26Справочник API

Подробное описание файлов

id.txt

Данный файл содержит основную информацию о модуле в следующем формате (построчно):

  • ключевое слово модуля (строчными латинскими буквами без пробелов)

  • код названия системы («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

files.txt

Данный файл содержит список файлов, которые входят в модуль помимо обязательных. Файлы указываются с полным путем от корня сайта. Например, если мы хотим, чтобы при установке в папку модуля "example" записался в файл test.php, то нам необходимо записать в files.txt следующую строку

/netcat/modules/example/test.php

При этом сам файл test.php должен находиться в архиве модуля в аналогичной папке - /netcat/modules/mymod/.

parameters.txt

Файл содержит список констант модуля и их значения. На каждой строчке указывается по одной константе. При загрузке страниц сайта константы загружаются в двумерный массив $MODULE_VARS, первым индексом которого является ключевое слово модуля, а вторым – название константы. После установки модуля содержимое этого файла записывается в поле Parameters таблицы Module, а сам файл удаляется. В процессе эксплуатации модуля значения параметров (констант) можно изменять в режиме администрирования в настройках модуля.

Например, указываем в настройках модуля с ключевым словом "example" параметр SOME_VAR со значением 123.

В результате, при работе с компонентами, макетами дизайна или скриптами модулей, мы получаем элемент SOME_VAR в массиве $MODULE_VARS['modkeyword'] - $MODULE_VARS['example']['SOME_VAR']. Этому элементу будет присвоено значение «123».

Пример записи:

SOME_VAR=123

sql.txt

Данный файл содержит список 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 команда должна быть одной строкой, без переносов.

install.php

Данный файл содержит две функции, контролирующие установку модуля.

Первая функция 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);
}

index.php и function.inc.php

Данные файлы являются основными скриптами модуля. Индексный файл производит необходимые действия, связанные с работой модуля, используя функции из файла function.inc.php, который подключается автоматически. Если в каком-либо из этих файлов нет необходимости, то они могут быть пустыми. Наличие каждого файла обязательно.

ru.lang.php

Файлы данного типа содержат все текстовые константы, используемые в модуле для обеспечения мультиязычности. Если ваш сайт, скажем, имеет еще и немецкий интерфейс, Вам необходимо создать файл ger.lang.php (в папке / netcat/admin/lang/ должен присутствовать файл ger.php).

Пример содержимого файла ger.lang.php:

define("NETCAT_MODULE_EXAMPLE", "Тестовый модуль");
define("NETCAT_MODULE_EXAMPLE_DESCRIPTION", "Описание тестового модуля");

url_routes.js

По умолчанию файл должен присутствовать, он должен содержать следующие строки:

urlDispatcher.addRoutes( {
} );

Если в модуле есть управляющий интерфейс (файл admin.php), то добавляется ещё одна строка с путём:

urlDispatcher.addRoutes( {
    'module.имя_модуля': NETCAT_PATH+'modules/имя_модуля/admin.php'
});

Обратите внимание, на значение «имя_модуля», вместо этого следует вписать ключевое слово модуля.

Описание возможностей описано в разделе «Элементы управления».

Комментарии 2

d.skorobogatov  ООО "МЕТРАФОР" 17 июня 2015, 10:30:52
В коде

function InstallThisModule(){
return array('Success'=>1);
return true;
}

второй return явно лишний.
   
Дмитрий Коновалов  Activica 23 апреля 2018, 12:28:28
https://www.php-fig.org/psr/psr-1/
п 4.3
   
Описание проекта