Новости Joomla на русском
Главная Новости Форум Статьи и обзоры Вопросы и Ответы
Joomla! по-русски
Вышла стабильная версия Joomla 2.5.1! Исправлено 32 ошибки (2 ошибки безопасности низкого уровня), увеличена скорость работы Joomla на Windows Azure, исправлены ошибки в функциях пакетной обработки и поиска. Библиотека MooTools обновлена до версии 1.4.3. Разработчики настоятельно рекомендуют обновиться до Joomla 2.5.1. Пакет русской локализации Joomla 2.5 уже доступен для загрузки.
 
Tuesday, 07 February 2012 Главная arrow Статьи и обзоры arrow Использование мамботов в расширениях Joomla
Категории
Статьи
Обзоры
Модификации и хаки
Для разработчиков
Joomla!® CMS
Russian Joomla Translation Team
Безопасность
Популярные статьи

Advego.ru - наполнение сайтов информацией

Замечание

Joomla!® является торговой маркой компании Open Source Matters inc в США и др. странах. Название Joomla! и его вариации, такие как J, Joom и т.д., используются в рамках ограниченной лицензии, определённой компанией Open Source Matters. Проект Joomlaportal не относится к компании Open Source Matters или проекту Joomla! Точки зрения представленные на данном сайте не являются официальными точками зрения Joomla Project или Open Source Matters.

Торговая марка Joomla® и логотип используются в рамках ограниченной лицензии, предоставленной Open Source Matters.

Использование мамботов в расширениях Joomla

28.08.2006 | smartСтатьи и обзоры / Статьи

Небольшая статья для разработчиков, посвященная вопросам использования мамботов в расширениях Joomla: как инициализировать группу мамботов, вызывать мамботы для заданного события и как передать параметры в мамбот.

Для доступа к мамботам из расширений Joomla существует глобальная переменная $_MAMBOTS, содержащая экземпляр стандартного класса mosMambotHandler, объявленного в файле /includes/joomla.php.

При возникновении какого-либо события (стандартного или пользовательского), разработчик расширения должен сначала загрузить соотвествующую группу мамботов. Например, загрузка группы мамботов content:

 
$_MAMBOTS->loadBotGroup( 'content' );

Что происходит при загрузке мамботов? Все установленные мамботы этой группы подгружаются ядром Joomla с помощью функции require_once. При этом происходит регистрация функций мамботов для заданных событий.

После этого, можно уже вызывать мамботы для указанного события:

 
$results = $_MAMBOTS->trigger( 'onPrepareContent', array( &$row, &$params, $page ), true );

Первым параметром в функции указывается имя события, вторым — массив аргументов, а третий параметр определяет, должны вызываться из этой группы неопубликованные мамбот или нет.

Таким образом, на примере видно, что для группы мамботов content, на событие onPrepareContent в мамботы передается 3 параметра (объект материала, параметры материала и номер страницы).

Cписок передаваемых и принимаемых параметров для каждого из стандартных событий будет рассмотрен чуть позже, а желающие смогут сами посмотреть в исходных кодах Joomla (просто поищите вызов $_MAMBOTS->trigger и посмотрите что и куда передается).

Что происходит при вызове функции trigger? Все очень просто: последовательый вызов функций мамботов, зарегистрированных на указанное событие. Порядок вызова мамботов соотвествует порядку, заданному в Менеджере мамботов административной панели Joomla. При последовательном вызове каждый последующий мамбот получает на вход данные, обработанные предыдущим, т.е. возвращаемый функцией trigger объект будет содержать все изменения, которые произвели в нем вызванные мамботы.

 
< Пред.   След. >
Загрузить Joomla!® CMS

Joomla 2.5

Joomla 2.5.1

Joomla 2.5.0 Joomla 2.5.1

Локализация Joomla 2.5

Пакет русской локализации Joomla 2.5.1

Joomla 1.7

Joomla 1.7.5

Joomla 1.7.3 Russian
(русифицированная версия)

Joomla 1.7.4 Joomla 1.7.5

Локализация Joomla 1.7

Пакет русской локализации Joomla 1.7.5

Joomla 1.5

Joomla 1.5.25

Joomla 1.5.25 Russian
(русифицированная версия)

Joomla 1.5.24 Joomla 1.5.25

Локализация Joomla 1.5

Русский язык для лицевой панели (site)
Русский язык для административной панели (admin)

Как обновить Joomla 1.0
до версии Joomla 1.5?

Документация

Joomla 1.7 FAQ
Joomla 1.5 FAQ
Joomla 1.0 FAQ


Русская версия Joomla

Joomla 1.7 Russian
Joomla 1.5 Russian