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

makhmudov.timur

  • Захожу иногда
  • 341
  • 20 / 0
  • Alshanskiy
У меня стоит задача: Сделать так, что бы когда писался какой то материал, и в его теле были слова например Манчестер Юнайтед, Месси, и т д , что бы они сразу становились тегами, и их линк был к личным страничкам клубов или игрока. Т.Е. Написал что месси бог футбола, читатель кликая на месси, попадает в профиль его как футболиста ... Сначала я искал этот плагин вообще в жумле а не именно в компоненте Жумлиги, а потом понял, что этот плагин должен именно переводить на страничку футболиста ! И поэтому пришлось искать его по жумлиге !Есть ли что то подобное ?

2. Я путем добавления в базы данных игроков, моё количество игроков увеличилось до 5ти тысяч штук ! Хотелось бы такой модуль, который отображал что то вроде "на сегоднящнее число, количесво футболистов в нашей базе данных 5 584". Думаю прошаренным людям сделать это не сложно. Думаю будет прикольно смотреться где то в футере...

Пользуясь поиском, близко похожее не нашел.
спс.
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Теги и колво игроков в базе
« Ответ #1 : 25.04.2010, 17:04:42 »
по первому вопросу есть мамботы типа wordtolink.
по второму элементарно. сегодня завтра готов будет модуль
*

makhmudov.timur

  • Захожу иногда
  • 341
  • 20 / 0
  • Alshanskiy
Re: Теги и колво игроков в базе
« Ответ #2 : 27.04.2010, 13:05:12 »
Большое спасибо за то что ты делаешь, и делаешь это своевременно )
*

makhmudov.timur

  • Захожу иногда
  • 341
  • 20 / 0
  • Alshanskiy
Re: Теги и колво игроков в базе
« Ответ #3 : 27.04.2010, 15:03:30 »
Модуль суперский, и даже понятный, немного его переделал, поменял меставми слова в модуле и картинки ) а так супер. Понравилась проверка, что в базе может и не буть игроков )  *DRINK* и про команды тоже хорошая инициатива )
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Теги и колво игроков в базе
« Ответ #4 : 27.04.2010, 22:27:22 »
да пожалуйста :). Будут еще идеи - излагайте!
*

Turban

  • Захожу иногда
  • 115
  • 1 / 2
Re: Теги и колво игроков в базе
« Ответ #5 : 29.04.2010, 06:56:33 »
по первому вопросу есть мамботы типа wordtolink.
по второму элементарно. сегодня завтра готов будет модуль
а можете ваш модуль выложить на закачку!? Тоже хотелось бы установить
И кстати,а что можно использовать вместо wordtolink? Только чтоб подходило для joomligi и бесплатно
« Последнее редактирование: 29.04.2010, 08:07:08 от Turban »
*

makhmudov.timur

  • Захожу иногда
  • 341
  • 20 / 0
  • Alshanskiy
Re: Теги и колво игроков в базе
« Ответ #6 : 29.04.2010, 13:23:50 »
а можете ваш модуль выложить на закачку!? Тоже хотелось бы установить
И кстати,а что можно использовать вместо wordtolink? Только чтоб подходило для joomligi и бесплатно
на счет первого, есть на официально сайте deez-а, и много чего еще
на счет второго, пока я не чего не нашел интересного ....
*

deeZ

  • Захожу иногда
  • 464
  • 33 / 0
Re: Теги и колво игроков в базе
« Ответ #7 : 29.04.2010, 22:02:52 »
wordtolink бесплатен. нормально работает с лигой. только надо руками поработать - в текстовый файл ссылки вбивать. А других, чтобы автоматом подхватывали - нет
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Копирование игроков из другого турнира

Автор sopila

Ответов: 5
Просмотров: 4308
Последний ответ 10.03.2019, 01:31:20
от DragonbyKuzya
Неверно считаются матчи в истории игр и в персональной статистике игроков

Автор tornario

Ответов: 6
Просмотров: 2475
Последний ответ 26.11.2015, 12:25:35
от M0sk0W
Joomleague 2 - поиск игроков

Автор born

Ответов: 0
Просмотров: 2059
Последний ответ 11.06.2015, 17:53:29
от born
Изменить вид таблицы игроков

Автор drongo666

Ответов: 8
Просмотров: 2301
Последний ответ 18.05.2015, 15:34:35
от drongo666
Сортировка игроков по результативности

Автор apugachev86

Ответов: 0
Просмотров: 1924
Последний ответ 28.01.2015, 20:57:48
от apugachev86