Обзор
В стандартной установке Joomla! 1,5 У нас есть несколько предопределенных событий, которые, когда срабатывает, вызывать функции связанные плагинов. Дополнительную информацию о модулях, проверить Учебник: Плагины, учебное пособие: Создание плагин для Joomla 1.5, Как создать контентных плагинов и т.д.
Эта тема, направленные на "глобальной" системы мероприятий, в том числе срабатывает на каждой странице нагрузки (onAfterInitialise, onAfterRoute, onAfterDispatch, onAfterRender), те, которые поддерживают поиск в нескольких плагинов (onSearch, onSearchArea) и те, которые поддерживают представление веб-служб (onGetWebServices) . Посетите плагины учебник для получения полного списка более доступные события ядро.
onAfterInitialise
Описание
Данное событие срабатывает после рамках загружен и применения метода инициализации была вызвана.
Параметры
Нет.
Возвращаемое значение
Нет.
Вызывается в файлах
* Index.php
* administrator/index.php
onAfterRoute
Описание
Данное событие срабатывает после рамки загружается и инициализируется и маршрутизатор имеет маршрут запроса клиента.
Маршрутизация процессе рассмотрения запроса среды, чтобы определить, какой компонент должен получить запрос. Компонент дополнительных параметров установите в объект запроса для обработки, когда применение в настоящее время отправки.
Когда это событие вызывает маршрутизатор анализируется маршрут и толкнул параметры запроса в JRequest для поиска в приложении.
Параметры
Нет.
Возвращаемое значение
Нет.
Используется в файлах
* Index.php
* administrator/index.php
onAfterDispatch
Описание Данное событие срабатывает после рамках направил заявление.
Диспетчерская является процесс извлечения вариант из объекта запроса и отображение их компонентов. Если компонент не существует, она обрабатывает определения умолчанию компонент для отправки.
Когда это событие срабатывает выход компонент доступен в документе буфера.
Параметры
Нет.
Возвращаемое значение
Нет.
Используется в файлах
* Index.php
* administrator/index.php
onAfterRender
Описание Данное событие срабатывает после рамках оказал приложения.
Оказание это процесс нажатием документ буферов в шаблон заполнителей, получение данных из документа и его продвижение на в буфер JResponse.
Когда это событие срабатывает выход приложение доступно в буфер ответа.
Параметры
Нет.
Возвращаемое значение
Нет.
Используется в файлах
* Index.php
* administrator/index.php
onSearch
Описание
Данное событие срабатывает при различных поисковых операциях. Это запрос на плагин для возвращения результате поискового запроса. Строки должны возвращать следующие поля, которые используются в общей рутины дисплей:
- href
- title
- section
- created
- text
- browsernav
Параметры
* Строка поиска цели.
* Опция сравнения строк (точное | любой | все).
* Строки заказа вариант (недавние | старейшие | Популярные | альфа | категория)
* Массив, если ограничиваться области, отсутствует, если искать все.
Возвращаемое значение
Массив StdClass объектов с членами, как описано выше.
Используется в файлах
- administrator/components/com_statistics/admin.statistics.php
- components/com_search/search.php
- plugins/search/categories.php
- plugins/search/contacts.php
- plugins/search/content.php
- plugins/search/newsfeeds.php
- plugins/search/sections.php
- plugins/search/weblinks.php
- plugins/xmlrpc/joomla.php
onSearchAreas
Описание
Представляется, что это запрос для плагинов для определения того, какие "области" они обеспечивают поиск объектов для.
Параметры
Нет.
Возвращаемое значение
Ассоциативный массив области имен, индексированные по области идентификатор. Например, массив ("Категории" => "Категории").
Используется в файлах
- components/com_search/search.php
- plugins/search/categories.php
- plugins/search/contacts.php
- plugins/search/content.php
- plugins/search/newsfeeds.php
- plugins/search/sections.php
- plugins/search/weblinks.php
onGetWebServices
Описание
Это самоанализ запрос для плагинов, которые предоставляют веб-сервисы.
Параметры
Нет.
Возвращаемое значение
Массиве ассоциативных массивов. Внешний массив индексируется имя метода обслуживания и содержит массив со следующими элементами:
- ['function'] метод вызывается, как правило, строки, как "ClassName:: staticMethod"
- ['Docstring'] человеческого понимания определения цели метода.
- ['signature'] массив определения типов параметров метода. См. глобальные переменные $ XMLRPC * для получения дополнительной информации.
Используется в файлах
- plugins/xmlrpc/blogger.php
- plugins/xmlrpc/joomla.php
- xmlrpc/index.php
Пример
Это пример системы плагинов. Помните, что поскольку система плагинов загружаются до любой другой группе события, они также могут содержать любые другие события.
Следующий класс будет находиться в файле /plugins/system/example.php.
<?php
// не имеет прямого доступа
defined( '_JEXEC' ) or die( 'Restricted access' );
jimport( 'joomla.plugin.plugin' );
/**
* Пример системы плагинов
*/
class plgSystemExample extends JPlugin
{
/**
* Конструктор
*
* For php4 compatability we must not use the __constructor as a constructor for plugins
* because func_get_args ( void ) returns a copy of all passed arguments NOT references.
* This causes problems with cross-referencing necessary for the observer design pattern.
*
* @access protected
* @param object $subject The object to observe
* @param array $config An array that holds the plugin configuration
* @since 1.0
*/
function plgSystemCache( &$subject, $config )
{
parent::__construct( $subject, $config );
// У некоторых дополнительных инициализации в этот конструктор, если требуется
}
/**
* Do something onAfterInitialise
*/
function onAfterInitialise()
{
}
/**
* Do something onAfterRoute
*/
function onAfterRoute()
{
}
/**
* Do something onAfterDispatch
*/
function onAfterDispatch()
{
}
/**
* Do something onAfterRender
*/
function onAfterRender()
{
}
}
Следующий документ XML будет находиться в файле /plugins/system/example.xml.
<?xml version="1.0" encoding="utf-8"?>
<install version="1.5" type="plugin" group="system">
<name>System - Example</name>
<author>Author</author>
<creationDate>Month 2008</creationDate>
<copyright>Copyright (C) 2008 Holder. All rights reserved.</copyright>
<license>GNU General Public License</license>
<authorEmail>email</authorEmail>
<authorUrl>url</authorUrl>
<version>1.0.1</version>
<description>An example system plugin</description>
<files>
<filename plugin="example">example.php</filename>
</files>
<params>
<param name="example"
type="text"
default=""
label="Example"
description="An example text parameter" />
</params>
</install>
