Сам жнець сам сівець
Для написання власних плагінів для конретного компонента потрібно.
При проєктуванні компонента встановити місця де будуть відслідковуватись події events
Наприклад я спробував написати
для
com_phocagallery
1 треба ініцілізувати плагін в компоненті
тобто загрузити слухач
я це зробив в contoller.php це один із перших файлів який оброблюється при звертанні до компонента
хоча в нашому випадку в компоненті com_phocagallery найперше виклиакається файл
phocagallery.php.
- Код: Виділити все
JPluginHelper::importPlugin('phocagallery');
2 Після ініцілізації я ставлю події.
Наприклад завантаження і подальша відправлення на відображення категоріїї картинок
це відбуваеться в файлі
view.html.php Взагалі такий проміжковий файл що збирає данні з моделі і контролера і відправляє на шаблонізатор. Завжди лежить в підпапках view.
Так от там я виликаю f,региструю подію
- Код: Виділити все
$arguments = array(&$foobarData); // Зверніть увагу на те що данні заганяються в масив.
$result = $mainframe->triggerEvent('onPreparePhocagallery', $arguments);
Місце розташування на ваш розсуд до виклику
- Код: Виділити все
parent::display($tpl);
3 Ось приклад як то робив плгін
- Код: Виділити все
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE install SYSTEM
"http://dev.joomla.org/xml/1.5/plugin-install.dtd">
<install version="1.5" type="plugin" group="phocagallery"> // Зверніть група називається так
само як і компонент. В папці плагін створюється папка phocagallery
<name>Image description</name>
<author>Bardus</author>
<authorEmail>ваша електрона пошта </authorEmail>
<authorUrl>ваш влсний сайт</authorUrl>
<creationDate>11.11.2008</creationDate>
<copyright>Copyright (C) </copyright>
<license>GNU/GPL</license>
<version>0.1</version>
<description>Описание картинок для Phoca Gallery </description>
<files>
<filename
plugin="descriptionimage">descriptionimage.php</filename> Саме власне назва плагіна
і назва файла.
</files>
<params/>
</install>
- Код: Виділити все
class plgPhocagalleryDescriptionImage extends JPlugin
{
function plgPhocagalleryDescriptionImage( &$subject, $params)
{
parent::__construct( $subject, $params );
}
Звернніть увагу як названий метод.
function onPreparePhocagallery( &$phoca )
{
echo 'Я плагін';
}
}
Так я мабуть дуже сумбурно і не врахував багато чого..а може, ще не знаю нюансів..
Описав те, що робив, щоб отримати на екрані напис "Я плагін".
Зауважу, що плагін одноразовий тому що ініцілізацію та регитсрацію потрібно вставляти в чужий код ..що дуже погано.
Чесно кажучи легше написати компонент, чим придумувати ..маленький плагін до чужого компонента

))))
Дефаульна група плагіні робиться дуже просто. Там тільки треба по шаблону, що лежить в exemples Написати функцію і подивится як написаніінші такі плагіни.