Объект системы "Плагин"
Объект "Плагин" принадлежит системному справочнику "Плагины".
Справочник "Плагины" содержит ссылки на файлы плагинов расположенных в директории сервера "plugin", группируя их по типу.
Плагин CMS представляет собой набор одноименных файлов:
- файл со статическим кодом ('.aspx')
- файл с кодом на языках VB.NET и C#.NET ('.aspx.vb' или '.aspx.cs')
- файл с клиентским JavaScript ('.js')
Плагины могут загружаться с через сервис cms в виде пакета установки '.plp' или через FTP в распакованном виде в папку "/plugin".
Статический файл ('.aspx') должен содержать код:
≤%@
Page Language='указатель языка VB или C#' AutoEventWireup='false' ContentType='text/html; charset=utf-8' CodeFile='имя_кодового_файла' Inherits=' имя класса в кодовом файле' Title='** группа плагина | имя плагина */*'%≥
≤%
Имя процедуры входа %≥
Кодовый файл должен:
- Читать сессионные переменные:
- 'userID' - идентификатор пользователя
- 'ModID' - идентификатор модуля
- 'serv' - имя сервера
- Принимать передаваемые параметры GET или POST
Метод GET
(Метод GET имеет ограничение по длине передаваемой строки параметров)
- При загрузке страницы, для первого обращения к модулю используется только метод GET
- Для отправки запроса методом GET используется скрытый фрейм с id вида:
"ifedit_" + OID
OID - уникальный идентификационный код объекта создаваемого модулем на странице.
Строка URL c запросом должна иметь видurl_адрес_плагина?uid=' + guserid + '&oid= + OID+ &имя_параметра_1 = значение_параметра_1 ... &имя_параметра_n = значение_параметра_n
OID - уникальный идентификационный код объекта создаваемого модулем на странице.
guserid - уникальный идентификатор пользователя - глобальна переменная JavaScript для текущей страницы, значение которой присваивается автоматически. (в текущей версии CMS не обязательный параметр)
- Для возврата результатов запроса отправленных методом GET используется общая для любой страницы сгенерированной CMS функция JavaScript:
returnInPage(ID_принимающего_объекта, возвращаемое_значений, возвращаемый_скрипт)
Метод POST
- Для отправки запроса методом POST и возврата результатов используется общая для любой страницы сгенерированной CMS функция JavaScript:
sendingRequestWithReturn(адрес_плагина, ID_принимающего_объекта, заставка_ожидания, строка_параметров)
адрес_плагина - URL адрес плагина, например:
/plugin/myplugin.aspx
заставка_ожидания - html код передаваемый ожидающему объекту до возврата результатов обработки, например:
Ожидание загрузки...
строка_параметров - строка передаваемых произвольных параметров. По мимо произвольных данных должна содержать ID модуля
- Для отправки запроса методом POST без ожидания возврата результатов используется общая для любой страницы сгенерированной CMS функция JavaScript:
sendingRequestWithoutReturn(адрес_плагина, строка_параметров)
адрес_плагина - URL адрес плагина, например:
/plugin/myplugin.aspx
строка_параметров - строка передаваемых произвольных параметров. По мимо произвольных данных должна содержать ID модуля
Встроенные функции для работы с методами GET и PОST возвращают результаты, используя свойство принимающего объекта innerHTML. Присвоить элементам 'input' значение (.value) нельзя.
Для упрощения работы, любая страница сгенерированная CMS содержит переменные JavaScript:
- nameserver - содержит имя сервера
- pluginspath - URL путь папки плагинов