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

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
А никто не в курсе что с IceThemes?
Купил у них шаблон, лицензию тоже ребята подогнали.
А сегодня хлобысь и все - сайт icetheme.com не работает, мой сайт пишет что лицензия закончилась.
Может кто в курсе, как проводится обычно валидация лицензии на шаблоны? Идет ли запрос на сайт разработчика или проверка осуществляется только на стороне моего сервера, внутренними миханизмами заложенными в шаблоне?
Ситуация очень неприятная, только только сделал сайт для человека и на тебе, такой неприятный бонус...
Вот и подумаю впредь связываться ли с клубными шаблонами...
Эх... Че делать то. Может коллеги у кого нибудь есть идеи?
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

_ib_

  • Давно я тут
  • 673
  • 100 / 8
Re: А никто не в курсе что с IceThemes
« Ответ #1 : 26.03.2012, 13:27:16 »
отделил Ваше сообщение в отдельную тему, т.к. Ваше сообщение к первоначальной теме никакого отношения не имело.

Что с этим клубом, мы не знаем, т.к. с ним не работаем.
Валидация лицензий может не работать также и из-за поломки инфраструктуры этого клуба. Обождите некоторое время. Погуглите, сожет есть где-то оффициальные сообщения, что клуб закрылся.
Спрашивайте также у людей у кого лицензию брали.
Легальные шаблоны и дёшево!  + скидки до 50% для шаблонов клуба Joomlart, RocketTheme, Yootheme и Gavick.

при интересе пишите в личку или на мыло: "p" точка "d" собака gmx.de
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: А никто не в курсе что с IceThemes
« Ответ #2 : 26.03.2012, 15:07:37 »
_ib_, спасибо. За вторжение в вашу тему прошу прощения, просто надеялся может вы в курсе, "крик души" так сказать...
Их сайт заработал и мой тоже начал запускаться.
 :o Ну какого лешего надо настолько привязывать лицензию к домену клуба, неужели нет другого варианта.
Не доступен сайт клуба - проверка лицензии невалидна - ошибка - и как результат недоступность сайта на клубном шаблоне для посетителей.
Ощущение какого то непрофессионализма со стороны клуба...
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

_ib_

  • Давно я тут
  • 673
  • 100 / 8
Re: А никто не в курсе что с IceThemes
« Ответ #3 : 26.03.2012, 17:20:25 »
да, это не серьёзно со стороны клуба, т.к. клиент получается зависим от них. Но об этом пишите в клуб, говорите с ними.
Легальные шаблоны и дёшево!  + скидки до 50% для шаблонов клуба Joomlart, RocketTheme, Yootheme и Gavick.

при интересе пишите в личку или на мыло: "p" точка "d" собака gmx.de
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: А никто не в курсе что с IceThemes
« Ответ #4 : 29.03.2012, 17:18:46 »
А никто не в курсе что с IceThemes?
Купил у них шаблон, лицензию тоже ребята подогнали.
А сегодня хлобысь и все - сайт icetheme.com не работает, мой сайт пишет что лицензия закончилась...

@Очередной Вебмастер,

Надеюсь, Сергей, Ваш доступ к icetheme.com теперь восстановился. У меня их сайт просматривается без проблем.

Приобретенная Вами у них лицензия на шаблон не истекает никогда и не зависит от срока оплаченной подписки. С ее истечением Вы теряете техподдержку:

After your membership expires you may continue using the same template you have downloaded and installed on your domain. In fact, you may use the same template for lifetime if you wish. No other payment is required to keep the same template. The payment is a one-time fee. However, you won’t be able to have support from IceTheme after the expiry. Support is given as long as you are an active member.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: А никто не в курсе что с IceThemes
« Ответ #5 : 30.03.2012, 01:51:16 »
ДА, Алекс, они восстановили работу, правда полдня мой сайт просидел в "дауне"
Но они в письме ответили, что готовы удалить код запрашивающий валидацию лицензии, чем я и собираюсь воспользоваться.
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Re: А никто не в курсе что с IceThemes
« Ответ #6 : 30.03.2012, 02:03:58 »
Рад слышать что у Вас лед двигается.

Удачи с проектами и клиентов, которые берут расходы по шаблонам и расширениям на себя.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Re: А никто не в курсе что с IceThemes
« Ответ #7 : 30.03.2012, 08:56:01 »
Спасибо, Алекс.
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться