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

  • 28.08.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:

<?xml version="1.0" encoding="iso-8859-1"?>
<mosinstall version="1.0.0" type="mambot" group="content">
	<name>moscode</name>
	<author>Joomla! Project</author>
	<creationDate>August 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters. All rights reserved.</copyright>
	<license>http://www.gnu.org/copyleft/gpl.html GNU/GPL</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>1.0.0</version>
	<description>Displays formatted code in content items</description>
	<files>
		<filename mambot="moscode">moscode.php</filename>
	</files>
	<params/>
</mosinstall>

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

Для того, чтоб оставить комментарий, авторизуйтесь через социальные сети.

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

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

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

Скачать Joomla! 3.9.3 Документация Joomla! CMS Свернуть

Расширения Joomla

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

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