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

claus

  • Захожу иногда
  • 183
  • 4 / 1
  • Тиха украинская ночь, но сало надо перепрятать!
Из МОЕЙ жизни :)
« : 30.12.2009, 17:47:54 »
Прошу здесь писать только случаи из первых рук.
Я вот уже года три как успокоиться не могу с одной ситуации... глубокофилософской... до сих пор над глубиной всего сказанного размышляю, когда ищу путь к нирване...

История была с нашим Экономистом - тетя лет 45-50. Ключевые фразы - выделю.
Раскинул я в конце осени локалку на 20 компов, подключил АДСЛ (раньше только диалап в директора и главбуха был), подключил всех к нету... В конце месяца экономист меня на ковер к директору:
- зачем нам убытки такие с твоим интернетом...?
- ? :o
- Мы в этом месяце в 3! раза больше за ликтричество заплатили!
- А при чем здесь интернет? - компы как были включены, так и остались... 8)
- Мой муж дома сказал, что мы дома очень много за интернет платим и его нужно отключить.

...я пошел обдумывать глубокомысленность всего сказаного, а также искать брешь в безупречной логике Экономиста.

... спустя пол часа я пересчитал к-во электрокаминов, эл-чайников и другого э-барахла, которое в связи с наступлением холодов и ненаступлением отопительного сезона начали включать чуть чаще... прихожу с цЭнными данными к Экономисту, излагаю... и вот гениальный ответ:

- Эти все приборы не могут столько света накрутить, потому, что у нас в щитковой стоит электрощетчик!



О!
мне не нашлось чем возразить, и я пошел к директору с предложением отключить от интернета все компы, работающие на АМД, поскольку я специальной програмой проверил - именно они создают максимальную нагрузку на электричество. (таких компов было всего 2, один из них у нашего.... вы поняли ;) )
*

boston

  • Захожу иногда
  • 495
  • 222 / 3
Re: Из МОЕЙ жизни :)
« Ответ #1 : 30.12.2009, 22:51:15 »
Супер, верное решение в дурацкой ситуации!
Самая новая Joostina 1.3.0.5 UTF-8 stable | О найденных ошибках сообщаем | Расширения Joostina
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Из МОЕЙ жизни :)
« Ответ #2 : 30.12.2009, 23:33:33 »
я околокомпьютерные приколы не помню чегой-то.
вот из области нетрадиционной медицины. сегодняшний.

сверхкороткий день (с утра все пьянствуют на работе и рассылают по электронке пошлые коллажи), освободился, поймал тачку, чтобы по морзу не топать
задрипаная такая девятка, стекло с трещинами, внутри тоже убитая
сидит мужичок лет пятидесяти, чистый совок - на ногах расстегнутые бурки, брюки в шерсти, неутюженно-непричёсанный.   спокойно так начинает рассказывать пр нетрадиционные методы лечения. тоном усталого лектора.
сначала было про неких церковных людей-проводников, которые спрашивают у бога разрешение на лечение конкретного человека и, с позволения, проводят в него благодать.
на моё "вы знаете, я с религией не очень дружу" были тут же предоставлены ещё более нетрадиционные методы

-а, ну так каждому-своё. вот есть и для атеистов. женские прокладки. мужчины тоже "одевают"

я как-то смог не заржать и в себя гхмыкнул.

- у меня знакомый один, учёный химик, носит такие. а когда в негодность приходят, делает из них стельки (...)

- а ещё есть пластины специальные. заряженные  /* (список заболеваний, который включает, естественно, всё-любое). */
- работают по фотографиям даже, но лучше прядь волос.
- и заряженная вода. вы же знаете, что вода - накопитель информации?
говорю, что слышал такую теорию.
- ну так вот, заряжают воду информацией и получается святая вода. /* здравствуй, киберправославие */


что характерно, это уже вторая моя встреча с неизведанным.
первая была лет 6 назад.
дедок на старом 412 москвиче предлагал 100% лечение гемороя.
и засыпал за рулём во время движения по зимней трассе. приходилось перехватывать руль и пихать его локтем.

долго думал, что значат такие встречи, пришёл к выводу, что надо_не_болеть.
такой вот неожиданный вывод :)


*

claus

  • Захожу иногда
  • 183
  • 4 / 1
  • Тиха украинская ночь, но сало надо перепрятать!
Re: Из МОЕЙ жизни :)
« Ответ #3 : 30.12.2009, 23:40:08 »
А к нам в офис тоже приходили эти проклодки рекламировать, на что мужики ответили, что им больше подойдут те, что из гастронома, для куриных... они картонные, и если порезать попарно - защита еще та!
*

claus

  • Захожу иногда
  • 183
  • 4 / 1
  • Тиха украинская ночь, но сало надо перепрятать!
Re: Из МОЕЙ жизни :)
« Ответ #4 : 11.01.2010, 12:58:11 »
Еще вспомнил - меня до сих пор подкалывают.
Годовой отчет, ничего не сделано, шеф начинает меня строить, какой я мол лодырь и бездельник... На что я резонно ответил:
- "Эх, знали бы вы насколько я занят на клеточном уровне!"
Он меня после этого целый день не трогал  ^-^
*

Lex

  • Завсегдатай
  • 1615
  • 274 / 1
Re: Из МОЕЙ жизни :)
« Ответ #5 : 11.01.2010, 13:17:26 »
Документ который принесла мне секретарь и с которого началось мое знакомство с Интернет вообще и Joomla в частности, имел резолюцию шефа "Иванову И.И. Прочитать. Изложить вразумительно." Это был договор и ТЗ на создание сайта.
« Последнее редактирование: 11.01.2010, 13:58:59 от Lex »
Жизнь заставила учиться.
В личке на вопросы не отвечаю.
*

yuri-design

  • Давно я тут
  • 652
  • 76 / 5
Re: Из МОЕЙ жизни :)
« Ответ #6 : 05.03.2010, 20:21:52 »
Прихожу в магазин. Впереди мужик расчитывается с продавцом.
П. - у вас купюры поменьше номиналом нет, а то сдачу дам железом.
М. - а можно бумагами?
П. - если только туалетными.
*

effrit

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

yuri-design

  • Давно я тут
  • 652
  • 76 / 5
Re: Из МОЕЙ жизни :)
« Ответ #8 : 05.03.2010, 20:47:04 »
Приходит как-то к нам в контору заказчик.
Выложил ТЗ, точнее то, что ему начальство дало, мы ознакомились.
Говорим: Давайте сделаем сайт на Битрике, цена такая-то.
Он: Ачто так дорого.
Мы: Ну, мол , лицензионка, хостинг для неё дорогой.
Он: Не пойдет.
Мы: Тогда давайте на Joomla сделаем.
Он: А что так дёшево?
Мы: Joomla - это бесплатный движок с открытым исходным кодом.
Он: Вы мне голову не морочте! Делайте на Joomla , только код надо закрыть, что бы никто не пользовался. Мы доплатим!

Re: Из МОЕЙ жизни :)
« Ответ #9 : 25.03.2010, 01:24:45 »
Вторые сутки сижу, не поднимая мягкого места, и делаю дизайн к своему первому в жизни сайту (будущий шаблон для Joomla, так сказать >:( . С помощью едва освоенного фотошопа  ^-^
Резко встаю из-за стола и нечаянно смахиваю с полки стоящую там коробку. Взглянув на рассыпавшееся содержимое, испытываю порыв "отменить действие".

А через день собираюсь начать верстку на вражеском языке программирования...  ;)                          
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Re: Из МОЕЙ жизни :)
« Ответ #10 : 25.03.2010, 02:23:34 »
Делал одной девушке шаблон для сайта их группы, музыкальной. Сама девушка-заказчик в этой группе вокалист. Шаблон взял какой то готовый, простой, но в шапке нужно было сделать стилизованную картинку, типа группа выступает на сцене, только в мультяшном стиле. Сделал картинку - на переднем плане стоит мультяшная девушка с гитарой и поет, а на заднем - басист, ударник и т.п., прикольно кстати получилось. Ну и по сайту - там тоже все просто:  о нас, наши фотки, наше творчество. Заказчица говорит - мы посмотрим с ребятами, я тебе позвоню.
 
Через полчаса звонит, грит - все отлично, когда и где встречаемся чтобы деньги передать?
Называю место и время встречи.
Она мне - Ага, а только вот можно юбочку покороче и рот открыть?
Я -  :o :D (в мыслях - конешно можно! можно и трусики на встречу не одевать!!) отвечаю - не понял?
Она - ну у девочки на картинке сделать покороче юбку и рот чтобы был открыт, типа она поет))
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.

Re: Из МОЕЙ жизни :)
« Ответ #11 : 22.05.2010, 01:33:23 »

Человек заходит в магазин и спрашивает:
- Ватман есть?
Продавец:
- Ватмана вчера уволили.
Человек:
- Да нет, вы не поняли. Мне нужен ватман для кульмана.
Продавец:
- Кульман сам ушел.
Человек:
- Вы снова не поняли. Мне нужен ватман для кульмана - я дизайнер.
Продавец:
- Я вижу, что не Иванов!

Это анекдот. А вот парочка реальных историй:

Один мой приятель в советские времена очень страдал из-за своей фамилии.
Причем фамилия у него была не Рабинович, не Абрамович и даже
не Блюменфельд, а наоборот - Ярусский. Нормальная в общем фамилия.
Если бы этот Ярусский не менял место работы по два раза в году.
И выглядело это так. Приходил он в отдел кадров, начальник говорил:
"Фамилия." "Ярусский." Начальник пристально смотрел на его семитский
нос и такие же глаза и говорил: "Подождите вы с национальностью.
Фамилия."
"Ярусский," говорил приятель. "Понимаете? Я-рус-ский." И так далее...

У моего знакомого был отчим по фамилии Церапиер. Происхождение фамилии
и ее смысл неизвестны, но важно, что работал он в какой-то проектной
конторе. Как это часто бывает, в сделанном ими проекте обнаружились
неувязки, и его послали на объект разбираться. Вдогонку была послана
телеграмма: К ВАМ НАПРАВЛЕН ЦЕРАПИЕР
Ответ гласил: СООБЩИТЕ КАКАЯ ТЕХНИКА НЕОБХОДИМА ДОСТАВКИ ЦЕРАПИЕРА НА
СТРОЙПЛОЩАДКУ
Финальный аккорд: ЦЕРАПИЕР ВЫГРУЗИТСЯ И ПОЙДЕТ СВОИМ ХОДОМ.

Рассказано моим отцом, работавшим в одном танковом НИИ в 70- и 80-е годы.
Для решения каких-то производственных проблем потребовалось
направить пару специалистов в Харьков.
Их фамилии были не то, чтобы необычные, но забавные: "Татарин" и "Пеший".
А их отправка к заказчику была подтверждена телеграммой:
К ВАМ НАПРАВЛЕНЫ ПЕШИЙ ТАТАРИН
Видимо, представив себе пешего татарина (даже не конного :-)),
добирающегося в Харьков из Ленинграда, заказчик направил
в НИИ телеграмму:
НАЦИОНАЛЬНОСТЬ БЕЗРАЗЛИЧНА, ОПЛАТИМ САМОЛЕТ.
*

yuri-design

  • Давно я тут
  • 652
  • 76 / 5
Re: Из МОЕЙ жизни :)
« Ответ #12 : 14.07.2010, 17:32:53 »
Цитировать
Прошу здесь писать только случаи из первых рук.
Я вот уже года три как успокоиться не могу с одной ситуации... глубокофилософской... до сих пор над глубиной всего сказанного размышляю, когда ищу путь к нирване..
kosoll, я думаю вы невнимательный.
То, что вы написали о-о-о-очень старо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться