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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Гадкий я 2 / Despicable Me 2
« : 05.11.2012, 18:00:43 »
Люблю мультики, а вот этот за последние 5 лет стал любимым (вкупе с тремя короткометражками про желтых гоблинов)
Дождались, вторая часть!

Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Гадкий я 2 / Despicable Me 2
« Ответ #1 : 05.11.2012, 20:37:58 »
В первой части кроме этих желтых миньонов в остальном так себе мультик был )
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Гадкий я 2 / Despicable Me 2
« Ответ #2 : 05.11.2012, 21:00:16 »
Да ладно, и злодей,  уменьшитель, и слон
мульт не на века, но забавный
На века может только "ловушка для кошек", но это не детский мульт
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Гадкий я 2 / Despicable Me 2
« Ответ #3 : 05.11.2012, 21:05:01 »
Там были прикольные моменты но они не ровно шли... из мультиков на века это Валли как по мне)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Гадкий я 2 / Despicable Me 2
« Ответ #4 : 05.11.2012, 21:06:25 »
Там были прикольные моменты но они не ровно шли... из мультиков на века это Валли как по мне)
Валли это вообще не комедия, это научная постапокалиптическая фантастика
Адаптация Саймака для детей
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Гадкий я 2 / Despicable Me 2
« Ответ #5 : 05.11.2012, 21:15:01 »
спорно) я посмеялся с удовольствием в кино, да и шутки там далеко не детские (хотя везде сейчас уже так)
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Гадкий я 2 / Despicable Me 2
« Ответ #6 : 05.11.2012, 21:20:26 »
Валли это адаптация романов: Хайнлайн - пасынки вселенной, Саймак - Город
и еще десяток подражателей

Там нет шуток ниже пояса, отличный мульт для всех и тем более для детей

Просто Валли и Гадкий я - ну совершенно разные жанры.
Гадкого я можно сравнить с стальной крысой Гаррисона, не будь он таким ущербным
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm

Re: Гадкий я 2 / Despicable Me 2
« Ответ #7 : 20.07.2013, 12:07:53 »
очень прикольный мультфильм есть что посмотреть! Смешные моменты в нём есть "гадкий я 2" не чем не уступает первой части! В кино  ленте всё включено. Так что Знаменитый шпион, крутое оружие и отвязные Миньоны снова в деле. Будем ожидать следующей части этого шедевра!
« Последнее редактирование: 21.07.2013, 17:21:43 от xxxsaturn »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Гадкий я 2 / Despicable Me 2
« Ответ #8 : 03.08.2013, 04:40:53 »
xxxsaturn - в одном завидую жителям больших русских мать его городов - у вас что ни кино то на русском
У хохлов все на хохляцком, ну невозможно жеж.

Одна радость, в Севастополе в Москве (Сергей может видел) с год крутят старое кино от 40-х до настоящего. Ходил туда на Большую прогулку, на Четверг и на Чтиво. Самое интересное что на два последних при покупке спрашивали (я их подсадил на этот вопрос) - в каком переводе.
В итоге Чтиво один раз смотрел в оригинале и второй в Гоблине.
Но - чтобы меня пустили приходилось брать два билета, иначе им нерентабельно гонять оборудование. Но кайф, небольшой зал, пиво, я один и надпись на курточке "п...да"

А миньенов смотрел бы в оригинале, язык простой, выражений нет, но нет - все надо на мову перевести и наблюдать пустые залы, нехорошие люди
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Гадкий я 2 / Despicable Me 2
« Ответ #9 : 17.11.2015, 12:44:21 »
Мне вторая часть вообще не понравилась.

Re: Гадкий я 2 / Despicable Me 2
« Ответ #10 : 08.12.2015, 21:01:31 »
Мне вторая часть была скучновата(
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Re: Гадкий я 2 / Despicable Me 2
« Ответ #11 : 09.12.2015, 00:14:49 »
Мне вторая часть была скучновата(

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