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

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
*

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
Не смешно

а "у вас спина белая" смешнее? у кого есть чувство юмора, посмеялись))
*

SDKiller

  • Живу я здесь
  • 2705
  • 329 / 5
  • ...ergo sum
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Угу. Не смешно. Потому что вполне может быть. И не удивлюсь даже.
*

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
Угу. Не смешно. Потому что вполне может быть. И не удивлюсь даже.

да ну! каким образом?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
А каким образом у нас цензура введена и садят на 4 года за часы из Китая?
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Да таким образом. Как пошутят, так через время смотришь, сбылось.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
1. Писал 1С-ник (только они будут восхвалять 1с-ников).
2. Стилистика написания весьма отличается от официальных указов - неправдоподобно, да и указ не подписан.
3. Путин может и поржать. А может и обидится... (мутный он какой-то, имхо).
4. Ждем выхода 1С-Joomla!
5. Мужайтесь - работать все будем под операционками 1С-ОКНА...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Фракция «Единая Россия» разработала законопроект, запрещающий жителям России посещение сайтов, находящихся в иностранных доменных зонах.

 Как поясняют разработчики проекта, жителям России будет открыт доступ лишь в зоны ru, su, рф. На прочие домены будет наложено законодательное вето.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Как же теперь кодить?
элементарно - все дружно переходим на 1с
Код
если (А больше B) {
    отдаем Ы;
} а вдруг не то {
    отдаем ошибку!;
}
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Создание сайтов, шаблонов, помощь в решении проблем.
*

passer

  • Завсегдатай
  • 1013
  • 75 / 3
Ага. Использование латинской В вместо кириллической В в коде. Депортировать нафиг на багамские острова.
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
А кто сказал, что это была латинская B, а не кириллическая В ? :)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
А еще мне понравился номер документа, в двоичной системе :)
*

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
Фракция «Единая Россия» разработала законопроект, запрещающий жителям России посещение сайтов, находящихся в иностранных доменных зонах.

 Как поясняют разработчики проекта, жителям России будет открыт доступ лишь в зоны ru, su, рф. На прочие домены будет наложено законодательное вето.

А вот я на днях решила прогу купить буржуйскую. Зашла на сайт, а там дуля. США. Я так и подумала, что заблокировали. Но утром уже все работала, купить успела, уже юзаю.
*

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
1. Писал 1С-ник (только они будут восхвалять 1с-ников).
2. Стилистика написания весьма отличается от официальных указов - неправдоподобно, да и указ не подписан.
3. Путин может и поржать. А может и обидится... (мутный он какой-то, имхо).
4. Ждем выхода 1С-Joomla!
5. Мужайтесь - работать все будем под операционками 1С-ОКНА...


Ну это же шутка)) это есть такой ресурс "школа программирования", они мне письмо это прислали) я повелась))))
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
для переменной Ы начать незамедлительно цикл с постусловием {

}

Я вот за чистую монету принял топик. И когда увидел подпись «с 1 апреля» затупил даже. Законопроект вполне себе рабочий, какие там шутки. На хабре давно перестали так шутить. Там как пошутишь в комментах, глядишь, через год уже работает.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Ну это же шутка)) это есть такой ресурс "школа программирования", они мне письмо это прислали) я повелась))))
а если тебе другое письмо прислать, тоже поведешься?) - контакты, пожалуйста
по сути не важно какой язык используется для программирования, главное что бы сам "программист" понимал что он делает)
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Я по названию тоже повелась. От нашего правительства, нихрена не сведущего в IT технологиях, всего ожидать можно. Тем более, что постоянно натыкаюсь при переходе с extensions.joomla.org на заблокированные сайты.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
что постоянно натыкаюсь при переходе с extensions.joomla.org на заблокированные сайты.
О, больная тема...
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Не столько больная, сколько раздражающая. Тор спасает - если критически нужно бывает.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Не столько больная, сколько раздражающая. Тор спасает - если критически нужно бывает.
Не спасает уже.
*

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
а если тебе другое письмо прислать, тоже поведешься?) - контакты, пожалуйста
по сути не важно какой язык используется для программирования, главное что бы сам "программист" понимал что он делает)

ага, я человек доверчивый)) но замужний  ;)

Не спасает уже.

точно, nnm опять вчера заблокировали... хотела книженцию скачать
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
точно, nnm опять вчера заблокировали... хотела книженцию скачать
Словами «я же говорил» всех это не передать. :)) На Тапках есть регулярно обновляемое зеркало Либрусека. Я давно скачал. ;)
*

Иоланта

  • Захожу иногда
  • 166
  • 3 / 0
Словами «я же говорил» всех это не передать. :)) На Тапках есть регулярно обновляемое зеркало Либрусека. Я давно скачал. ;)

я пытаюсь отучить себя от халявы))) тяжело, но получается)))
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
я пытаюсь отучить себя от халявы))) тяжело, но получается)))
Либрусек неудачный пример по-моему. :) 90% книг на либрусеке создано простыми юзерами. Т.е. люди на добровольных началах сканили, рапознавали, редактировали, собирали fb2 и т.д. В один прекрасный момент парочка особо предприимчивых предпринимателей решили «а давайте с314…м все эти тексты и будем обратное, этим же лохам продавать». Так появился Литрес. Либрусек долго стоял в стороне и продолжал давать людям читать бесплатно. Но года три гдет назад таки прогнулся. Позже появилась Флибуста, как альтернатива продавшемуся либрусеку, но на настоящий момент её активно пытаются выпились из сети. Пока держатся. Вот такой краткий экскурс в историю российского копирастинга. Детали всех событий (и многих других на тему) можно нагуглить по Хабру. Платить кому-то, кто украл национальное достояние и обратно продаёт, считаю, как минимум, нечестно. Такие дела.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Есть мние что это ленивый провайдер заблокировал весь жж в место поддомена
« Последнее редактирование: 03.04.2014, 00:31:21 от Alldar »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Телеграм канал о Joomla на английском

Автор Sulpher

Ответов: 0
Просмотров: 1953
Последний ответ 30.01.2024, 23:47:50
от Sulpher