Русская Joomla!
Главная arrow Главная arrow Руководства arrow Пишем мамбот Joomla!

Пишем мамбот Joomla!

Печать E-mail
Автор boston   
27.11.2006 г.
Одним из самых интересных частей Joomla являются мамботы. Эти скрипты незаметно работая значительно облегчают работу. Сегодня мы займёмся написанием своего собственного мамбота!
Делаем свой мамбот
Одним из самых интересных частей Joomla являются мамботы. Эти скрипты незаметно работая значительно облегчают работу. Сегодня мы займёмся написанием своего собственного мамбота!
Мамбот (Mambot): Мамбот - маленькая, ориентированная на определенную задачу функция, которая производит определенные действия с содержимым, перед его отображением и манипулированием им. Дистрибутив Joomla уже содержит некоторое количество мамботов.

Для начала создадим небольшой XML шаблон. Назовём его opit_bot.xml.
<?xml version="1.0" encoding="windows-1251"?>
<mosinstall type="mambot" group="content">
<name>opit_bot</name>
<author>boston</author>
<creationDate>08.12.05</creationDate>
<copyright>Copyright 2005 Joom.ru</copyright>
<copyright>This script is released under the GNU/GPL License</copyright>
<authorEmail> Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script </authorEmail>
<authorUrl>http://joom.ru</authorUrl>
<version>0.1a</version>
<description>Это наш опытный мамбот</description>
<files>
<filename mambot="opit_bot">opit_bot.php</filename>
</files>
</mosinstall>


Рассмотрим каждую строку подробно:

<?xml version="1.0" encoding="windors-1251"?>

Это стандартное XML начало.., указывается версия и кодировка.

<mosinstall type="mambot" group="content">
Указывается тип мамбота и к какой группе он принадлежит. Группы могут быть: content - содержимое, editors - редакторы, editors-xtd - что - то вроде расширенных редакторов ( встречал только стандартные mosimage и mospage ), search - для поиска, system - системные. Мамбот выполняет свою работу в зависимости от группы. Т.е. например content обрабатывает само содержимое перед отображением, editors - расширяет возможности редактора и т.д.

<name>
opit_bot</name>
Это само название, показано будет в списке мамботов при установке в Joomla.

<author>
boston</author>
Имя автора.

<creationDate>08.12.05</creationDate>
Дата создания мамбота.

<copyright>Copyright 2005 Joom.ru</copyright>
Копирайт или авторское право, кому ка удобне...

<authorEmail>
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script </authorEmail>
Email автора. Будет отображен в списке мамботов для быстрой связи с автором.

<authorUrl>http://joom.ru</authorUrl>
WWW адрес автора. Будет отображен в списке мамботов для быстрой связи с автором.

<version>0.1a</version>
Версия мамбота

<description>Это наш опытный мамбот</description>
Описание, будет отображено в настройке мамбота.

<files>
Начало списка файлов входящих в комплект мамбота.

<filename
mambot="opit_bot">opit_bot.php</filename>

Файл который принадлежит мамботу. Если используется несколько файлов то их стоит указывать похожим образом.

</files>
Конец списка используемых файлов.

</mosinstall>
Конец описания мамбота.

Сейчас подойдём к самому интересному, к самому коду.
Создадим файл opit_bot.php с таким содержанием:

<?php
// (c) boston 2005/ {www.joom.ru}
// запрет прямого доступа к файлу
defined( '_VALID_MOS' ) or die( 'В доступе отказано.' );

// создаём новую фунцию, выполняющуюся при подготовке содержимого к выводу.
$_MAMBOTS->registerFunction( 'onPrepareContent', 'my_opyt' );
// теперь непосредственно распишем что наша фунция будет делать
function my_opyt( $published, &$row, &$params, $page=0 ) {
// если бот опубликован
if ($published) {
// тут возможно разместить абсолютно любой php код

$row->text = str_replace( "{joom.ru}", "", $row->text ); // меняем в содержимом {joom.ru} на наш текст. $row->text; это и есть содержимое
$row->text = $row->text."Посетите www.joom.ru - русский дом Joomla!"; // выводим итоговое содержимое склеивая его из первоначального текста и нашего текста.
}
return true;
};
?>


Мамбот готов! Устанавливайте его в систему и проверяйте!
Руководство конечно не претендует на полноту, но основы думаю раскрывает. Так что дерзайте и не забывайте писать свои идеи и рассуждения на сайте joom.ru!

Последнее обновление ( 21.06.2010 г. )
 
« Пред.   След. »