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

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
Не знаю правильно ли писать сюда, но решил что сюда заглядывают форумчане в поисках заказов и вероятно параллельно пользуются услугами биржи webmaster.net
Не один год пользовался их услугами, оплачивая ежемесячно 5 баксов. Пару раз возникали проблемы в виде отключения админами аккаунта например за частое использование лички(!), т.е. например заявка: "нужен интернет-магазин" и все. И что, оставлять заявку? Пишешь в личку: какие детали, устроит ли Joomla и т.д.
Но это детали и прошлое. Недавно пришла пора оплатить очередной раз аккаунт, жму кнопочку а мне счет - почти 40 баксов! Начал рыть - у них на форуме заковыристое пояснение что вот так они решили - каждая категория теперь стоит каких-то денег, сумма - в зависимости от активности категории и т.д. Ну словом вот так насчитали... Написал на форуме просто свое мнение, что мол поднять цену на сотни процентов - не лучшее решение - меня сразу заблокировали.
Кто-нить сталкивался с данным ресурсом и какое мнение, инетресует. Порылся в сети, нашел несколько сайтов с ну очень негативными отзывами
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Кто знает что случилось с weblance.net?
« Ответ #1 : 23.01.2015, 12:27:56 »
Цитировать
Не знаю правильно ли писать сюда
Неправильно было писАть конкретно в этот раздел. Топик не имеет отношение к J, поэтому должен создаваться во флейме, если вы желаете это обсудить. А так - очередной претендент на свалку, за нарушение правил форума и раздела.

Конкретно по теме - не пользуйтесь платными биржами, имеющими сомнительную репутацию.
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
Re: Кто знает что случилось с weblance.net?
« Ответ #2 : 23.01.2015, 14:56:16 »
Алек, я вас услышал, админы услышали - переместили в флейм, спасибо что не на свалку как вы почему-то решили, можете заодно указать четко чем я нарушил правила? Вообще второй раз с вами пересекаюсь и второй раз вы с какими-то непонятными претензиями и совсем не по существу, то кучу дерьма вывалили на мой пост что я ищу клиентов на создание сайтов, теперь на ситуацию с диким поднятием цен на в***се - меня на свалку а вместо по сути - совет не пользоваться биржами, что звучит странно немного - многие если не большинство пользуется фрилансами, платит за их услуги и непонятно что вы по существу хотели сообщить:)
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
Re: Кто знает что случилось с weblance.net?
« Ответ #3 : 23.01.2015, 15:19:17 »
Так вроде указал причину:
за нарушение правил форума и раздела.
Изучайте: правила форума, Правила раздела Коммерческие вопросы (про свалку я не сам придумал).
Если я не прав, пусть меня накажут.

Против вас лично ничего не имею, жаль, что вы восприняли это так негативно. Никого не хотел обидеть или задеть. Я просто ратую за порядок, по-своему, как умею.

По существу, что именно я имел ввиду: уважающий себя сервис фриланса, предоставляющий услуги на коммерческой основе, вряд ли позволит себе те действия, которые вы описали в стартпосте - и бесплатные сервисы куда более внимательны к потребителям своих услуг, в противном случае репутация такого сервиса крайне низка и пользоваться его (сервиса) услугами настоятельно не рекомендуется - сейчас 10-кратное кидалово (по другому я такую инфляцию назвать не могу), потом они без предупреждения цены 100-кратно взвинтят?

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

Я приношу свои извинения, если чем-то обидел или задел.
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
Re: Кто знает что случилось с weblance.net?
« Ответ #4 : 23.01.2015, 19:55:24 »
да ладно, проехали:) насчет сайта-портфолио  - согласен, просто поймите мое отношение к этому - какой бы он ни был но писать в посте где я ищу работу - не совсем корректно, я б абсолютно позитивно его рассмотрел если бы это было написано в личку например. А насчет weblance.net - цель моего сообщения была в том чтоб коллеги узнали о подходе данных товарисчей к своим клиентам и возможно написали свои негативные ситуации - подобная информация будет нелишней для всех. И на тормозах не сторонник спускать подобное жлобство владельцев ресурса. Кстати повеселил момент: написал в предыдущем сообщении в е б л а н с - опубликовало в***с - антимат заменил е б л а н :)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пропал beliyadm. Может, кто знает...

Автор dabudo

Ответов: 19
Просмотров: 2206
Последний ответ 29.01.2014, 18:19:29
от Sandra
Кто помнит/знает время загрузки сайтов 10-15 лет назад?

Автор avex

Ответов: 4
Просмотров: 1560
Последний ответ 17.08.2013, 20:21:51
от voland