Создание мамботов Joomla 1.0: общие сведения

  • Понедельник, 28 августа 2006

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

Общие сведения о мамботах

Как мы уже рассказывали раньше, мамботы это небольшие функции для расширения возможностей Joomla, которые позволяют выполнять некоторые действия над передаваемыми им данными.

Мамботы делятся на группы, согласно выполняемым ими функциям. В настоящее время существует 5 стандартных групп мамботов: content, editor, editors-xtd, search, system. При необходимости, разработчики расширений могут создавать дополнительные группы и события мамботов.

Файлы мамботов располагаются папках, соответствующих своей группе в директории /mambots корневой директории Joomla. Т.е. мамботы группы content следует искать в /mambots/content.

Каждая группа мамботов поддерживает одно или несколько событий, при возникновении которых производится вызов мамбота и передача ему данных на обработку. Например, самым распространненным событием группы content является onPrepareContent, которое возникает перед началом отображения материала.

{mospagebreak title=Стандартные группы мамботов}

Стандартные группы мамботов в Joomla

Группа мамботов content

Данная группа является самой распространненной, и содержит мамботы позволяющие модифицировать материалы сайта перед их непосредственным выводом пользователю.

Поддерживаемые события:

  • onPrepareContent
  • onAfterDisplayTitle
  • onBeforeDisplayContent
  • onAfterDisplayContent

Группа мамботов editor

Визуальные редакторы Joomla.

Поддерживаемые события:

  • onInitEditor
  • onGetEditorContents
  • onEditorArea

Группа мамботов editors-xtd

Мамботы, добавляющие небольшие кнопочки к визуальным редакторам для вставки какого-либо текста в редактируемый текст. В стандартной поставке Joomla в этой группе размещены мамботы, вставляющие теги mospagebreak, mosimage и mosmedia.

Поддерживаемые события:

  • onCustomEditorButton

Группа мамботов search

Поисковые мамботы. Используются компонентом com_search для поиска информации в различных компонентах.

Поддерживаемые события:

  • onSearch

Группа мамботов system

Cистемные мамботы, позволяющие выполнять различные действия еще до вызова компонента. Например, с помощью системного мамбота можно блокировать пользователей по IP или запрещать доступ к каким-либо страницам сайта и т.д.

Поддерживаемые события:

  • onStart
  • onAfterStart
{mospagebreak title=Состав дистрибутива мамбота}

Состав дистрибутива мамбота

Минимальный дистрибутив мамбота состоит из xml-файла описания мамбота и, непосредственно, файла с PHP-кодом. Пример xml-файла описания мамбота moscode:



	moscode
	Joomla! Project
	August 2004
	(C) 2005 Open Source Matters. All rights reserved.
	http://www.gnu.org/copyleft/gpl.html GNU/GPL
	admin@joomla.org
	www.joomla.org
	1.0.0
	Displays formatted code in content items
	
		moscode.php
	
	

Как видно на примере, формат файла почти не отличается от xml-файлов описаний дистрибутивов компонентов и модулей. Следует обратить внимание на то, что в элементе mosinstall аттрибут type равен mambot, а в аттрибуте group указывается группа, к которой относится мамбот (в примере это группа content). Кроме того, в секции files, у элемента file, содержащего основной файл мамбота установлен атрибут mambot, который содержит имя мамбота.

Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Логотип Joomla

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.

Мы рады пригласить вас в ряды нашего сообщества!

Свернуть

Коротко о главном в Joomla

Новости портала

Новое в блогах

Видео

Форум о Joomla