0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 471 Просмотров
*

deminevgen

  • Осваиваюсь на форуме
  • 117
  • 2
Обработка плагинами
« : 29.11.2016, 00:46:05 »
Всем доброго времени суток.
Вообще у меня вопрос по обработке плагинами, где прочитать как эта функция реализована в Joomla?
И получится ли её добавить в определенное место компонента.
Например у меня есть sp page builder 2, а в нём различные аддоны, но вот в них не включена обработка плагинами и нужно например в аддон HTML raw, добавить данную возможность.
*

b2z

  • Support Team
  • 7460
  • 742
  • Разраблю понемногу
Re: Обработка плагинами
« Ответ #1 : 29.11.2016, 10:32:15 »
[topic=238511]
Цитировать
Например у меня есть sp page builder 2, а в нём различные аддоны, но вот в них не включена обработка плагинами и нужно например в аддон HTML raw, добавить данную возможность.
Можно, но придётся каждый раз это делать при обновлении sp page builder 2
*

deminevgen

  • Осваиваюсь на форуме
  • 117
  • 2
Re: Обработка плагинами
« Ответ #2 : 29.11.2016, 15:30:37 »
[topic=238511]Можно, но придётся каждый раз это делать при обновлении 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
  • 7460
  • 742
  • Разраблю понемногу
Re: Обработка плагинами
« Ответ #3 : 29.11.2016, 16:03:28 »
Перед return $output; добавьте вызов события:

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

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

Код: php
class PlgSpbbTest extends JPlugin
{
public function onSppbAddonBeforeOutput(&$output)
{
// Тут можно изменить $output
return $output;
}
}
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обработка кнопки "Удалить"

Автор alpha_ru

Ответов: 0
Просмотров: 81
Последний ответ 29.07.2017, 18:04:36
от alpha_ru
Обработка плагинами

Автор Mick_20

Ответов: 4
Просмотров: 214
Последний ответ 06.04.2017, 07:55:05
от Serg_
А где в модуле выключить обработку плагинами?

Автор voland

Ответов: 2
Просмотров: 191
Последний ответ 08.01.2017, 18:20:52
от robert
пакетная обработка меню

Автор nickmargo

Ответов: 1
Просмотров: 143
Последний ответ 30.12.2016, 21:01:46
от nickmargo
Обработка данных в модуле

Автор Skelvin

Ответов: 4
Просмотров: 318
Последний ответ 19.06.2016, 13:21:04
от SmokerMan