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

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Сегодня на хабре подхватил линк на игру в города на Яндексе и сижу играю http://citygame.yandex.ru/game/
За весь день дальше 13-го уровня не поднялся, почему:
 - либо туплю с городами на Ы и Э и Й (которых знаю не сильно много)
 - 99% отваливаются соперники на вариантах, когда я готов выдать еще штук по 20 городов сходу
Да, признаю что я поступал (но не поступил) на геофак МГУ, но это и было лет 10 назад, с тех пор учебник не открывал
Но чтобы люди не знали более 3-х городов на букву "А" (как говорит моя статистика игр) - это безумие какое то, неужто все такие тупые либо мне просто невезет с противниками
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: География и общее образование
« Ответ #1 : 17.12.2009, 23:58:37 »
Ща попробуем!
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: География и общее образование
« Ответ #2 : 18.12.2009, 00:10:18 »
Жесть какая то)) увидел что у соперника траблы с городами на "В" начал его кормит Тамбов, Кишинев, и так далее.. пишу Ростов - а мне фигак - НЕТ ТАКОГО ГОРОДА!  О думаю нармальный ход :laugh:
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #3 : 18.12.2009, 00:10:58 »
Я уже который раз попадаю что нет такого города как Адлер :)
Ростова нет, есть Ростов-на-Дону
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: География и общее образование
« Ответ #4 : 18.12.2009, 00:18:03 »
Загнал в Googl "Город на букву в". 2 пункт выдачи
http://otvet.mail.ru/question/12320114/
 ;D
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: География и общее образование
« Ответ #5 : 18.12.2009, 00:19:05 »
 ;D Недавно имел дело со школьниками 10 классов. Вопрос "Что такое hollywood", поверг их в ступор. Что только не отвечали.
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: География и общее образование
« Ответ #6 : 18.12.2009, 00:19:56 »
Цитировать
Ростова нет, есть Ростов-на-Дону
блин точно))
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: География и общее образование
« Ответ #7 : 18.12.2009, 00:22:25 »
Ростов Великий
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #8 : 18.12.2009, 00:23:30 »
а я понял что не знаю больше двух городов на букву Х
А ведь было время, когда знал столицы 240 государств, хоть ночью буди
В общем играл играл, дальше 16 уровня не прошел, с вероятностью 80% сдаются противники
Вопрос "Что такое hollywood", поверг их в ступор. Что только не отвечали.
а что такое холливуд? Святой лес в районах побережья западной части Западной Америки :)
То что Ленин первый президент СССР я просто молчу, но как то банальное незнание географии меня лично поражает
Ну и данной игре несовершенство карт яндекса играет большую роль, открыл БЭС - там все есть, у них нет :)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: География и общее образование
« Ответ #9 : 18.12.2009, 00:28:05 »
Цитировать
а я понял что не знаю больше двух городов на букву Х
Херсон
Хиросима
Харьков
Хургада ( не уверен что город)
Хост ( в Афгане)
больше не знаю
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #10 : 18.12.2009, 00:29:18 »
Херсон
Хиросима
Харьков
Хургада
Хост ( в Афгане)
больше не знаю
а ты блин, а я вспомнил только Харьков, Хабаровск и последнюю секунду Ханты-Мансийск
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

xobot

  • Захожу иногда
  • 125
  • 12 / 0
Re: География и общее образование
« Ответ #11 : 18.12.2009, 00:45:48 »
а ты блин, а я вспомнил только Харьков, Хабаровск и последнюю секунду Ханты-Мансийск
Харардере (Сомали)
Харгейса (Сомали)
Хафун (Сомали)
Хмельницк

 ;)
Нужно лечиться в молодости, что бы не болеть в старости.
*

Yurets

  • Захожу иногда
  • 405
  • 92 / 0
  • Губернатор острова Борнео
Re: География и общее образование
« Ответ #12 : 18.12.2009, 00:50:08 »
Таки-Хайфа, я вас умоляю! Да-да, Израиль! У меня там друг живет. ))
В комнате с белым потолком
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #13 : 18.12.2009, 00:55:47 »
таки да :)
я дошел до 17 уровня, плохо что нельзя с определенными игроками партию расписать, отдается рандом полный
Но по мозгам хорошо дает, за это яндексу (как я его не люблю) респект
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #14 : 18.12.2009, 01:06:03 »
21 балл и я отваливаюсь, в нетрезвую голову мало что полезного приходит
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: География и общее образование
« Ответ #15 : 18.12.2009, 01:08:42 »
Цитировать
плохо что нельзя с определенными игроками партию расписать
Да, это минус.. хотелось бы выбирать
И вот скажи - зачем?? Во имя чего ты дал эту ссылку?? >:( сидел человек, изучал HTML,CSS, как правильно пользовать z-index, а теперь все - вечер пропал :laugh:
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: География и общее образование
« Ответ #16 : 18.12.2009, 01:11:48 »
Нафиг. Это бесконечно и затягивает. С трудом вылез, сдался. Игроман блин. Больше не пойду. :-X
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #17 : 18.12.2009, 01:19:53 »
И вот скажи - зачем?? Во имя чего ты дал эту ссылку?? >:( сидел человек, изучал HTML,CSS, как правильно пользовать z-index, а теперь все - вечер пропал
повышение кругозора полезно всегда, вне зависимости от рода деятельности
я вот по ночам китайский учу чтобы расслабиться
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: География и общее образование
« Ответ #18 : 18.12.2009, 01:55:05 »
Цитировать
я вот по ночам китайский учу

фигассе расслабуха....
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #19 : 18.12.2009, 01:56:18 »
фигассе расслабуха....
ни хау лань пхень йоу
Кстати действительно - резкая смена деятельности действует расслабляюще, тем более когда за ней не стоят негодующие тупые заказчики и знаешь что от этого ничего смертельно не меняется
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: География и общее образование
« Ответ #20 : 18.12.2009, 01:57:54 »
Не, я еще не настолько духовно возвысился, чтобы по ночам китайский учить)))
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #21 : 18.12.2009, 02:00:26 »
Не, я еще не настолько духовно возвысился, чтобы по ночам китайский учить)))
зато начал слушать альбомы Джеки Чана (правильно кстати Чена) и понимать всю эту тарабарщину :)
Весьма и весьма интересное занятие, китайский сложней русского только по артикуляции и письменности, в остальном же примерно равны (сложность грамматики, построение фраз)
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Re: География и общее образование
« Ответ #22 : 18.12.2009, 03:16:59 »
города на Х - Хотьково. мой родной город.
Ростов - есть Ростов Великий, но Великий - это кажется не совсем официально. Просто Ростов на указателях написано.

И где у вас в списке Хабаровск?
Где Харбин?
где Хмельницкий?

на Х много Хороших и Х... не очень городов : )))
+
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: География и общее образование
« Ответ #23 : 18.12.2009, 03:30:15 »
И где у вас в списке Хабаровск?
Хабаровск я вписал, Хмельницкий забыл, Харбин тоже
Но общая статистика весьма неутешительна. Интересно бы в рамках моего сайта организовать тестирование по ЕГЭ (технически я могу сделать, добро не дают) и посмотреть на результаты в той же географии
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Re: География и общее образование
« Ответ #24 : 18.12.2009, 03:47:16 »
по географии, по истории и по биологии я в школе был отличником (в своей системее координат - высший балл - 4 : ))

ну и все детство и раннюю юность над кроватью карта висела. запоминать города, страны и их столицы - было любимым занятием.
тока с Африкой проблемы : ) там половина государств меняет свое название раз в год : ))
на Х - Ханты-Мансийск еще.

еще вот Хартум вспомнил.. проверил в вики - есть такой. Забыл, что это столица Судана : (
+
*

PashkaRu

  • Давно я тут
  • 941
  • 91 / 4
  • Дедушка Игнат, изыди ((((
Re: География и общее образование
« Ответ #25 : 18.12.2009, 03:48:08 »
а вообще можно в вики посмотреть... тока так не интересно, наверное...
там все города по буквам.
+
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться