Новости 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 Гость просматривают эту тему.
  • 13 Ответов
  • 3070 Просмотров

Здравствуйте, меня зовут Руслан, я очень хотел бы подробно разобрать CMS Joomla но сам видно не осилю т.к. материала много, много чего не понятного. Вот хочу найти так сказать наставника который мог бы помочь разобраться в дебрях Joomla. Также возможно скооперироваться и вести вместе проекты.
*

Yurets

  • Захожу иногда
  • 405
  • 92 / 0
  • Губернатор острова Борнео
Re: Я ищу наставника и друзей по Joomla
« Ответ #1 : 11.02.2011, 00:27:48 »
Да-да, и я присоединяюсь к ТС. Давече забрел в такие дебри, что только Ctrl+Z меня назад и вывел...
В комнате с белым потолком
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Я ищу наставника и друзей по Joomla
« Ответ #2 : 11.02.2011, 00:31:58 »
О_о это болезнь, заразная!
Также возможно скооперироваться и вести вместе проекты.
Эмм... И как вы это себе представляете?
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
Re: Я ищу наставника и друзей по Joomla
« Ответ #4 : 11.02.2011, 18:51:17 »
А че..парень молодец..одно сообщение и уже плюс в карме - стопроцентная отдача))
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Я ищу наставника и друзей по Joomla
« Ответ #5 : 11.02.2011, 18:52:38 »
Цитировать
Larisa (+14/-14)    kruslan (+1/-0)    +    Молодец!
Ога, плюс из разряда посмеяться...
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
Re: Я ищу наставника и друзей по Joomla
« Ответ #6 : 11.02.2011, 18:55:00 »
Ога, плюс из разряда посмеяться...
Видел, с появлением Ларисы карма как-то так уже не котируется как раньше)
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Я ищу наставника и друзей по Joomla
« Ответ #8 : 11.02.2011, 22:25:32 »
А может быть проще сказать человеку о том, что он должен задавать конкретные и подробные вопросы, чтобы получать на них ответы?
Ведь наверняка 70% ответов он получит, а может больше ему и не надо?
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Я ищу наставника и друзей по Joomla
« Ответ #9 : 11.02.2011, 22:38:34 »
мне вот интересно, в каком учереждении неделя открытых дверей?
надо позвонить им, и попросить, чтобы закрыли обратно. и окна заколотили. и забрали обратно всех, кого выпустили ))).
иначе я в человеках разочаруюсь и придётся перейти на тёмную сторону и изобретать уничтожитель_всего :).

kruslan, скооперируйтесь с самоучителем и денвером.
кому вы нужны в качестве участника кооператива, если вы с ходу расписываетесь в собственной интеллектуальной беспомощности?
тут ФОРУМ. а не бесплатные курсы. а форум - это лаконичные КОНКРЕТНЫЕ вопросы и столь же ЛАКОНИЧНЫЕ ответы.
если вы не в состоянии добыть себе базис информации в огромном интернете - платите деньги или ищите другое занятие, менее требовательное к интеллекту.
зы
извините за резкость, но, честное слово - уже подзадолбали "особенные" люди :)
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: Я ищу наставника и друзей по Joomla
« Ответ #10 : 11.02.2011, 22:58:54 »
иначе я в человеках разочаруюсь и придётся перейти на тёмную сторону и изобретать уничтожитель_всего :).
Тогда тебе придется менять логин на МЕГАМОЗГ (навеяло вчерашним просотром мультика с ребенком).
*

doctorgrif

  • Давно я тут
  • 745
  • 82 / 1
  • Нудный доктор
Re: Я ищу наставника и друзей по Joomla
« Ответ #12 : 13.02.2011, 08:13:48 »
не. буду Нимнулом. это соотвествующий злой гений из Чипа и Дейла ))).
заинтриговал, пришлось вспоминать историю (гуглить про чипадейла)
Омск-Екатеринбург-Челябинск...Feldzug gen Westen | Кафедра | GrayBox | Joostina 1.2.1 | Joostina Extensions | In Vino Veritas [в работе]
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Я ищу наставника и друзей по Joomla
« Ответ #13 : 13.02.2011, 08:28:48 »
Это что за дискредитация образа злого гения?!
Вот правильная картинка:

Уважаемый профессор готовится к дружбе с kruslan'ом и Ko.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сбор подписей за создание официального русского перевода лицензии gnu/gpl для CMS Joomla

Автор admi5575

Ответов: 31
Просмотров: 5789
Последний ответ 30.04.2015, 12:43:40
от Shustry
Курсы по Joomla....

Автор assaru

Ответов: 17
Просмотров: 4325
Последний ответ 27.02.2014, 19:31:46
от dmtn
Joomla по новому

Автор eyeweb

Ответов: 17
Просмотров: 4308
Последний ответ 20.03.2013, 09:25:05
от flyingspook
Афоризмы, пословицы и выражения про Joomla

Автор GoldennVoice

Ответов: 0
Просмотров: 2153
Последний ответ 12.07.2012, 10:18:07
от GoldennVoice
А есть лицензионная Joomla?

Автор djed9

Ответов: 41
Просмотров: 6642
Последний ответ 09.10.2010, 13:22:24
от Forget-me-not