Форум русской поддержки Joomla!® CMS
09.12.2016, 11:49:32 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Обработка плагинами

 (Прочитано 99 раз)
0 Пользователей и 1 Гость смотрят эту тему.
deminevgen
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 117



« : 29.11.2016, 01:46:05 »

Всем доброго времени суток.
Вообще у меня вопрос по обработке плагинами, где прочитать как эта функция реализована в Joomla?
И получится ли её добавить в определенное место компонента.
Например у меня есть sp page builder 2, а в нём различные аддоны, но вот в них не включена обработка плагинами и нужно например в аддон HTML raw, добавить данную возможность.
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7538


Разраблю понемногу


« Ответ #1 : 29.11.2016, 11:32:15 »

Документация по созданию плагина для Joomla 2.5 и Joomla 3.x
Цитировать
Например у меня есть sp page builder 2, а в нём различные аддоны, но вот в них не включена обработка плагинами и нужно например в аддон HTML raw, добавить данную возможность.
Можно, но придётся каждый раз это делать при обновлении sp page builder 2
Записан
deminevgen
Осваиваюсь на форуме
***

Репутация: +1/-0
Offline Offline

Сообщений: 117



« Ответ #2 : 29.11.2016, 16:30:37 »

Документация по созданию плагина для Joomla 2.5 и Joomla 3.xМожно, но придётся каждый раз это делать при обновлении sp page builder 2
Ничего страшного)
Вообщем вот сам аддон который выводит содержимое на front
Код:
<?php
/**
 * @package SP Page Builder
 * @author JoomShaper http://www.joomshaper.com
 * @copyright Copyright (c) 2010 - 2016 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later
*/
//no direct accees
defined ('_JEXEC') or die ('restricted aceess');

class SppagebuilderAddonRaw_html extends SppagebuilderAddons{

public function render() {

$class = (isset($this->addon->settings->class) && $this->addon->settings->class)? $this->addon->settings->class : '';
$title = (isset($this->addon->settings->title) && $this->addon->settings->title)? $this->addon->settings->title : '';
$heading_selector = (isset($this->addon->settings->heading_selector) && $this->addon->settings->heading_selector)? $this->addon->settings->heading_selector : 'h3';

//Options
$html = (isset($this->addon->settings->html) && $this->addon->settings->html)? $this->addon->settings->html : '';

//Output
if($html) {
$output  = '<div class="sppb-addon sppb-addon-raw-html ' . $class . '">';
$output .= ($title)? '<'.$heading_selector.' class="sppb-addon-title">' . $title . '</'.$heading_selector.'>' : '';
$output .= '<div class="sppb-addon-content">';
$output .= $html;
$output .= '</div>';
$output .= '</div>';

return $output;
}

return;
}

}
Я как понял из статей, то JPluginHelper::importPlugin() это метод вывода плагинов? И нужно вызвать событие с помощью $dispatcher-> trigger()?
в mod_custom.php я обнаружил вывод плагина content
Код:
JPluginHelper::importPlugin('content');
$module->content = JHtml::_('content.prepare', $module->content, '', 'mod_custom.content');
Но вот как мне узнать какие именно мне нужны плагины? В стандартном модуле custom_html мой код работает(там есть обработка плагинами).
Записан
b2z
Support Team
*****

Репутация: +710/-0
Offline Offline

Пол: Мужской
Сообщений: 7538


Разраблю понемногу


« Ответ #3 : 29.11.2016, 17:03:28 »

Перед return $output; добавьте вызов события:

Код
JPluginHelper::importPlugin('sppb');
$output = $dispatcher-> trigger('onSppbAddonBeforeOutput', &$output);

Потом создайте плагин под названием test группы spbb и в нём сделайте метод onSppbAddonBeforeOutput:

Код
class PlgSpbbTest extends JPlugin
{
public function onSppbAddonBeforeOutput(&$output)
{
// Тут можно изменить $output
return $output;
}
}
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet