Новости Joomla

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод...

👩‍💻 Как триггерить события для плагинов на манер Joomla 5+?В Joomla 6 должны удалить метод triggerEvent(), с помощью которого раньше вызывались события для плагинов. Теперь чтобы в своём коде вызвать событие для плагина и получить от него результаты нужно:- создать объект класса события- передать в него параметры

use Joomla\CMS\Event\AbstractEvent;use Joomla\CMS\Factory;use Joomla\CMS\Plugin\PluginHelper;// Грузим плагины нужных группPluginHelper::importPlugin('system');// Создаём объект события$event = AbstractEvent::create('onAfterInitUniverse', [    'subject' => $this,    'data'    => $data, // какие-то данные    'article' => $article, // ещё материал вдовесок    'product' => $product, // и товаров подвезли]);// Триггерим событиеFactory::getApplication()->getDispatcher()->dispatch(    $event->getName(), // Тут можно строку передать 'onAfterInitUniverse'    $event);// Получаем результаты// В случае с AbstractEvent это может быть не 'result',// а что-то ещё - куда сами отдадите данные.// 2-й аргумент - значение по умолчанию, // если не получены результаты$results = $event->getArgument('result', []);
Плюсы такого подхода - вам не нужно запоминать порядок аргументов и проверять их наличие. Если вы написали свой класс события, то в плагине можно получать аргументы с помощью методов $event->getArticle(), $event->getData(), $event->getProduct() и подобными - реализуете сами под свои нужды. Если такой класс события написали, то создаёте экземпляр своего класса события и укажите его явно в аргументе eventClass
use Joomla\Component\MyComponent\Administrator\Event\MyCoolEvent;$event = MyCoolEvent::create('onAfterInitUniverse', [    'subject'    => $this,    'eventClass' => MyCoolEvent::class, // ваш класс события    'data'       => $data, // какие-то данные    'article'    => $article, // ещё материал вдовесок    'product'    => $product, // и товаров подвезли]);
Ожидаемо, что класс вашего события будет расширять AbsractEvent или другие классы событий Joomla.🙁 Есть неприятный нюанс - нельзя просто так вызывать событие и ничего не передать в аргументы. Аргумент subject обязательный. Но если вы всё-таки не хотите туда ничего передавать - передайте туда пустой stdClass или объект Joomla\registry\Registry.
@joomlafeed#joomla #php #webdev

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

Serena Dark

  • Захожу иногда
  • 99
  • 2 / 0
T3v3 Framework + K2
« : 20.02.2013, 13:35:43 »
Добрый день, уважаемые! Не знаю, в какой раздел написать, просьба модераторам перенести тему, если что.
Поставила на сайт T3v3 Framework. Крутая штука, всем нравится, но очень интересно поступает оно с K2.
А именно - изображение материала и кнопка "редактирование материала" повисли над страницей О_о
Отказываться от нового фреймворка по такому пустяку на хочется, ну и убирать изображение материала тоже.
Подскажите, пожалуйста, хотя бы в какую сторону копать?



Joomla! 2.5.9 Stable
K2 2.6.5
T3v3 Framework 1.0.3

сайт http://animaniya.org.ua
« Последнее редактирование: 20.02.2013, 17:24:18 от Serena Dark »
*

Serena Dark

  • Захожу иногда
  • 99
  • 2 / 0
Re: T3v3 Framework + K2
« Ответ #1 : 20.02.2013, 17:46:13 »
Все. Не там смотрела. У К2 есть собственные элементы modal, это видно, если сменить шаблон.
Короч, у К2 эти два элемента носят название modal, один вызывает модальное окно для редактировании статьи, другой выводит в модальном окне картинку статьи.
Вот теперь думаю, как их подружить...
*

monkjust

  • Захожу иногда
  • 61
  • 1 / 0
Re: T3v3 Framework + K2
« Ответ #2 : 10.03.2013, 02:25:35 »
решила?
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Re: T3v3 Framework + K2
« Ответ #3 : 11.03.2013, 20:54:07 »
Этот фреймворк использует бутстреп. А в бутсрепе класс модал с позиционированием фиксед.Перебейте стили для класа модал и все будет ок.Проверено)
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
Re: T3v3 Framework + K2
« Ответ #4 : 13.03.2013, 01:44:45 »
вот решение из багтрекера Т3
*

Serena Dark

  • Захожу иногда
  • 99
  • 2 / 0
Re: T3v3 Framework + K2
« Ответ #5 : 19.03.2013, 22:10:59 »
chilly_bang, спасибо!
olejenya, я в принципе и пришла к такому, что в файлах Т3 нашла фаербагом куда ссылается проблемный модал и просто убрала ему настройки позиции. Правда сперва я правила файлы К2, в результате не работали редактирование с фронта, которое вызывается К2шным модалом) Ну и модальное окно с картинкой изображения статьи. Так что не вариант был)
*

olejenya

  • Захожу иногда
  • 218
  • 3 / 0
Re: T3v3 Framework + K2
« Ответ #6 : 22.03.2013, 12:31:26 »
chilly_bang, спасибо!
olejenya, я в принципе и пришла к такому, что в файлах Т3 нашла фаербагом куда ссылается проблемный модал и просто убрала ему настройки позиции. Правда сперва я правила файлы К2, в результате не работали редактирование с фронта, которое вызывается К2шным модалом) Ну и модальное окно с картинкой изображения статьи. Так что не вариант был)
Я в CSS файле просто написал .modal {position:relative;top:0;left:0;margin:0;} Скажем так обнулил бутсреповский модал.Но если ты решила юзать модальные окна бутсрепа, тогда конечно надо добавля клас, что бы перебить только твой модал. А как тебе сам фреймворк?
*

Serena Dark

  • Захожу иногда
  • 99
  • 2 / 0
Re: T3v3 Framework + K2
« Ответ #7 : 15.04.2013, 16:00:57 »
olejenya, на этом фреймворке я, пожалуй, пока и останусь.
Кстати, поставила обновленную версию, там гораздо меньше файлов, и несчастный модал обнаружился по адресу assets\css\bootstap.css
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
Re: T3v3 Framework + K2
« Ответ #8 : 16.04.2013, 00:18:43 »
 а я вот попробовал его и слез. А поставил и остался вот такой: http://www.youjoomla.com/youjoomla-blog/yjsg-framework-blog.html . Он тоже bootstrap, но гораздо прозрачней устроен чем т3, как по мне.
*

Serena Dark

  • Захожу иногда
  • 99
  • 2 / 0
Re: T3v3 Framework + K2
« Ответ #9 : 16.04.2013, 00:39:46 »
Посмотрю, спасибо. Я просто привыкла уже к Т3.. да и информации по нему обычно много бывает
*

chilly_bang

  • Захожу иногда
  • 113
  • 1 / 1
Re: T3v3 Framework + K2
« Ответ #10 : 16.04.2013, 00:49:36 »
угу, в том то и дело, что мне эту информацию читать облом. а тут лишь по bootstrap документация, больше ничего и не надо знать
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

k2 + t3 framework. Шаблон вывода материала категории

Автор dendenden

Ответов: 2
Просмотров: 1051
Последний ответ 23.06.2015, 16:22:09
от dendenden
Если пагинация K2 100500 страниц ( t3 framework + Joomla 3 + K2)

Автор FitMe

Ответов: 0
Просмотров: 1262
Последний ответ 17.12.2014, 15:32:47
от FitMe
[Решено] Проблема отображения материала K2 при использовании T3 framework

Автор Sulpher

Ответов: 0
Просмотров: 1541
Последний ответ 29.05.2013, 01:14:16
от Sulpher