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

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Re: Веселые картинки
« Ответ #151 : 31.10.2012, 11:01:06 »
наши люди в голливуде)))
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Re: Веселые картинки
« Ответ #153 : 31.10.2012, 13:27:01 »
Если животное не дразнить то говорят оно довольно миролюбиво


*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Веселые картинки
« Ответ #154 : 02.11.2012, 15:34:41 »
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Веселые картинки
« Ответ #155 : 02.11.2012, 21:16:14 »
[spoiler title=осторожно, трафик от Fill-а, 1.2 Мб, 18+][/spoiler]
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Веселые картинки
« Ответ #156 : 02.11.2012, 21:23:54 »
[spoiler title=осторожно, трафик от Fill-а, 1.2 Мб, 18+][/spoiler]
Это откуда?
По стилю - 420to - но у них сегодня только "назад в будущее за 1 минуту"
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Веселые картинки
« Ответ #157 : 02.11.2012, 21:31:39 »
Это откуда?
По стилю - 420to - но у них сегодня только "назад в будущее за 1 минуту"
Это на лепре есть наш замечательный соотечественник с Севастополя, зовется Fill, рисует такие вот мульты
Посмотреть можно здесь
Рекомендую:



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

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Веселые картинки
« Ответ #158 : 02.11.2012, 21:37:55 »
Блин, а я про что?
420то уже много лет\месяцев как подписан.
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: Веселые картинки
« Ответ #159 : 02.11.2012, 22:31:15 »
так может кто еще проникнется, не нами едиными силен интернет
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
Re: Веселые картинки
« Ответ #160 : 09.11.2012, 11:57:18 »
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

THE KILLERS

  • Давно я тут
  • 932
  • 28 / 0
Re: Веселые картинки
« Ответ #161 : 15.12.2012, 18:47:44 »
*

assaru

  • Давно я тут
  • 763
  • 88 / 1
Re: Веселые картинки
« Ответ #162 : 19.12.2012, 18:23:48 »
ELLE создала тему реклама подстроилась.....
Спойлер
[свернуть]
Проблему можно решить и по скрину и по эмоциям, счет на оплату через ЛС (с) Nobody
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Веселые картинки
« Ответ #163 : 19.12.2012, 23:30:24 »
как раз в тему подсунули, может кто и видел уже
Спойлер
[свернуть]
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Веселые картинки
« Ответ #164 : 19.12.2012, 23:48:27 »
Супер...
Надо такое в статус поставить ))
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Веселые картинки
« Ответ #165 : 20.12.2012, 19:33:11 »
ELLE создала тему реклама подстроилась.....
Спойлер
[свернуть]

Дык, я уже вот тут писал про контекстную рекламу :)
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Веселые картинки
« Ответ #166 : 22.01.2013, 23:18:59 »
Офигеть какой теплый дом.

[вложение удалено Администратором]
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Веселые картинки
« Ответ #167 : 28.01.2013, 21:34:06 »
Mac OS Mountain Lion (Safari 6)
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: Веселые картинки
« Ответ #168 : 03.02.2013, 10:58:43 »

Спойлер
[свернуть]
Создание сайтов, шаблонов, помощь в решении проблем.
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Веселые картинки
« Ответ #169 : 14.02.2013, 08:23:02 »
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Веселые картинки
« Ответ #170 : 14.02.2013, 11:33:20 »
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Веселые картинки
« Ответ #171 : 22.02.2013, 01:15:11 »
 .

[вложение удалено Администратором]
*

al-teen

  • Глобальный модератор
  • 2385
  • 224 / 10
  • im
Re: Веселые картинки
« Ответ #172 : 03.03.2013, 22:41:46 »
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Веселые картинки
« Ответ #173 : 04.03.2013, 12:39:01 »
Ишак меня нюхал ...
Если помог - плюсуйте в карму.
*

Pazys

  • Завсегдатай
  • 1738
  • 241 / 4
  • <a>А где я ошибся-то?</b>
Re: Веселые картинки
« Ответ #174 : 04.03.2013, 21:48:34 »
Когда я вернулся к разработке старого плагина, код которого я не комментировал.



Когда новичек предлагает мне внедрить новую функцию в проект



Когда босс говорит, что будут премиальные, если сдадим проект в сроки



Когда мне сервер заблокировал доступ из-за забытой запятой



Когда менеджер проектов неожиданно взглянул в мой монитор



Когда клиент пытается кликать на дизайне в JPG



Когда клиент хочет изменить ТЗ когда работа началась



Когда мой скрипт наконец заработал



Когда я говорю, что мой скрипт не работает на рабочем проекте



Когда я загуглил и нашел решение проблемы



Когда новичек говорит мне, что "тестирование - для тех, кто плохо программирует"



Когда я сократил код плагина с 200 до 10 строк



Ишак меня нюхал ...
Если помог - плюсуйте в карму.

Re: Веселые картинки
« Ответ #175 : 11.03.2013, 12:10:32 »
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Веселые картинки
« Ответ #177 : 28.03.2013, 09:25:21 »

*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Веселые картинки
« Ответ #178 : 28.03.2013, 09:41:30 »
да я в курсе, что баян.
просто тут статью ро распознавание эмоций подкрепили Сигалом, получилось ржачно :)
зы
и он гораздо более выразительнее Норриса! :)
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Re: Веселые картинки
« Ответ #179 : 28.03.2013, 09:42:29 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Картинки - еда

Автор ..С...е...р...ы...й..

Ответов: 1
Просмотров: 4721
Последний ответ 04.08.2009, 03:10:00
от Sandra