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

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Нужна мать Asus N61DA
« : 26.02.2016, 14:57:42 »
Умер мой старый добрый ноут Asus N61DA. С вечера выключил, а утром не включился. При включении загораются индикаторы, и дальше ничего не происходит, экран мертв, Биос не грузится. В одном сервисе сказали - видеочип, в другом - мост... Цена ремонта у нас везде одинаковая - 7 тысяч. В городе только у двух сервисов есть паяльная станция, но вопрос в том, что сама мать стоит порядка 4500 руб.

Вот и обращаюсь к знатокам - где можно подешевле купить материнку, желательно с возможностью почтовой отправки? Пока нашел на bget.ru, заказывал ли кто нибудь оттуда?
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Нужна мать Asus N61DA
« Ответ #1 : 26.02.2016, 15:18:18 »
сначала позвони туда, и узнай, а мать наличии реально имеется?
на авито есть пара питерских сервисов, выставляющих железо, но тоже надо звонить
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Нужна мать Asus N61DA
« Ответ #2 : 26.02.2016, 15:20:28 »
На алиекспрессе такая материнка стоит 6
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Нужна мать Asus N61DA
« Ответ #3 : 26.02.2016, 15:25:31 »
сначала позвони туда, и узнай, а мать наличии реально имеется?
на авито есть пара питерских сервисов, выставляющих железо, но тоже надо звонить
Ну разумеется, буду предварительно звонить, заодно уточнять ревизию. В выходные разберу ноут, посмотрю, какая у меня стоит. А то везде фотографии зеленой платы, а у меня синяя. )) На Авито попадались такие, но цена там намного выше (недели три назад смотрел).

На алиекспресс я только за 15 видел REV:2.1 )
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Нужна мать Asus N61DA
« Ответ #4 : 26.02.2016, 15:30:06 »
на али будет нулевая, в сервисах всегда бу и без гарантии
*

voland

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

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Re: Нужна мать Asus N61DA
« Ответ #6 : 26.02.2016, 15:35:52 »
На алиекспресс я только за 15 видел REV:2.1 )
Вот за 6
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Sven

  • Захожу иногда
  • 107
  • 6 / 5
Re: Нужна мать Asus N61DA
« Ответ #7 : 26.02.2016, 16:00:12 »
Если сможете точно определить причину, и если это окажется видеочип, то есть способ его оживить:


Я свой ACER так оживил, правда не на прожекторе, а в духовке)) Он потом еще два года проработал.
Но делать это надо только если будет 100% уверенность что именно в видеочипе проблема, чтобы терять как говорится нечего было, все равно мертвый. А то зря сожжете еще.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Нужна мать Asus N61DA
« Ответ #8 : 26.02.2016, 16:09:57 »
Спасибо за совет, сначала отдам на диагностику, посмотрим, что скажут. Нашел материнку за 78 баксов, может дешевле найду...
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Нужна мать Asus N61DA
« Ответ #9 : 26.02.2016, 16:14:37 »
И то если это действительно северный мост (видеочип). Может проблема попроще окажется.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Re: Нужна мать Asus N61DA
« Ответ #10 : 26.02.2016, 16:22:23 »
Вот за 6
+ Доставка:
    1 319,33 руб.в
    Russian Federation службой HongKong Post Air Mail
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Нужна помощь

Автор jurus75

Ответов: 0
Просмотров: 778
Последний ответ 14.07.2019, 12:06:10
от jurus75
Зачем нужна мобильная версия сайта?

Автор ecolora

Ответов: 20
Просмотров: 2049
Последний ответ 09.06.2016, 16:50:00
от Shustry
Мне больше не нужна бумажная книга! А вам?

Автор Plazmodina

Ответов: 72
Просмотров: 5623
Последний ответ 16.09.2015, 17:53:17
от Aleks.Denezh