Создание события ничем не отличается от добавления типа объекта в Каталог объектов. Для этого необходимо выбрать нужную ветку дерева событий и воспользоваться опцией Добавить из контекстного меню. В окне Добавление записи необходимо заполнить ключевые поля Код (ID) и Название события, а затем нажать кнопку Добавить.
После создания события можно привязывать плагины к этому событию.
В качестве примера создадим плагин, анализирующий sql-запросы к БД, которые вызываются на определенной странице сайта. В плагине с помощью параметров можно будет задать страницу, на которой будут анализироваться запросы, и минимальный временной интервал, в течение которого будут измеряться запросы. В результате мы получим страницу, на которой будут выведены все успешные запросы, а также те, которые содержат ошибки и другая полезная для разработчика информация.
Создаем новый плагин в меню Элементы сайта – Плагины панели управления.
На вкладке Общие заполняем поля следующим образом:
На вкладке Скрипт помещаем код:
//Adodb performance if($parser->pageId !== $logpage) return; $parser->conn->Execute('delete from adodb_logsql'); include_once(SYS_BASE_PATH.'libs/adodb/adodb-perf.inc.php'); $ADODB_PERF_MIN = $parser->utils->strToFloat($mintime); $this->conn->LogSQL(true);
На вкладке Параметры создаем 2 параметра плагина (нажатием кнопки «+»).
С помощью меню Элементы Сайта - Страницы (меню) создаем новую страницу для того, чтобы вывести на ней результаты анализа запросов к базе данных.
На вкладке Общие:
На вкладке Содержание вставляем следующий код:
{ { php include_once(SYS_BASE_PATH.'libs/adodb/adodb-perf.inc.php'); $perf = NewPerfMonitor($parser->conn); echo $perf->SuspiciousSQL(); echo $perf->ExpensiveSQL(); echo $perf->InvalidSQL(); $perf->UI($pollsecs=5); } }
Сохраняем изменения нажатием на кнопку Сохранить.
Далее необходимо обновить главную страницу сайта и перейти по адресу http://site.com/index.php?pageid=test_page. Здесь вы увидите проанализированные плагином запросы. Подробнее об sql-анализаторе можно прочитать на странице разработчиков - http://phplens.com/lens/adodb/docs-perf.htm.