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

userxp

  • Живу я здесь
  • 2019
  • 403 / 6
  • Злой и ужасный бармалей
Идентификаторы роботов
« : 07.03.2007, 20:33:39 »
Search Engine: User-Agent
AltaVista: Scooter
Infoseek: Infoseek
Hotbot: Slurp
AOL: Slurp
Excite: ArchitextSpider
Google: Googlebot (поддерживает регексы)
Goto: Slurp:
Lycos: Lycos
MSN: Slurp
Netscape: Googlebot
NorthernLight: Gulliver
WebCrawler: ArchitextSpider
Iwon: Slurp
Fast: Fast
DirectHit: Grabber
Looksmart Web Pages: Slurp

Yahoo Web Pages: по одной информации - Googlebot, а по другой - Yahoo! Slurp
поддерживает * (любой набор символов), $ используется как знак конца URL

Яндекс: Yandex
Рамблер: StackRambler
Вэбальта: Webalta
Черепаха: идентификатор TurtleScanner/номер_версии, индекс для robots.txt - turtle
« Последнее редактирование: 07.03.2007, 20:50:12 от userxp »
Как правильно задавать вопрос службе технической поддержки  yes!
SGA CM 7.2.0 RC0 KANG Build GWK74 + s95allinonescript + CWM 5.0.2.6 + Modem XWKT3
*

k_morgan

  • Захожу иногда
  • 59
  • 1 / 0
Re: Идентификаторы роботов
« Ответ #1 : 10.02.2011, 12:01:58 »
Жаль, что справочник не обнавляется. А то ко мне начал лазить The World Wide Web Worm и много скачивать... Как его закрыть?
*

faraon_x

  • Захожу иногда
  • 362
  • 27 / 1
  • Чем смогу, тем помогу )))
Re: Идентификаторы роботов
« Ответ #2 : 22.06.2011, 15:46:14 »
World Wide Web Worm (WWWW) - червь всемирной паутины - одно из первых инструментальных средств сети WWW, обеспечивавшее поиск информации по ключевым словам в базе данных объемом 300000 мультимедийных объектов.
Ничего страшного, проверь нагрузку на сервер, если все нормально, пусть кушает.  ^-^
Вопросы по JFORMS, можно ещё попробовать задать здесь
Российский 3d сканер от разработчиков и производителей
*

faraon_x

  • Захожу иногда
  • 362
  • 27 / 1
  • Чем смогу, тем помогу )))
Re: Идентификаторы роботов
« Ответ #3 : 22.06.2011, 17:39:02 »
Жаль, что справочник не обнавляется. А то ко мне начал лазить The World Wide Web Worm и много скачивать... Как его закрыть?
Пока собрал идентификаторы поисковых систем Google и Яндекса, но как время появится пополню список.
« Последнее редактирование: 29.02.2012, 20:05:26 от faraon_x »
Вопросы по JFORMS, можно ещё попробовать задать здесь
Российский 3d сканер от разработчиков и производителей
*

msgeorge

  • Осваиваюсь на форуме
  • 38
  • 2 / 0
Re: Идентификаторы роботов
« Ответ #4 : 08.07.2011, 11:46:41 »
По поводу поисковых роботов: http://3pu.info/search-robots-user-agent/
*

none.sql

  • Захожу иногда
  • 143
  • 8 / 1
Re: Идентификаторы роботов
« Ответ #5 : 28.02.2012, 13:30:58 »
Пока собрал идентификаторы поисковых систем Google и Яндекса, но как время появится пополню список.
404
*

faraon_x

  • Захожу иногда
  • 362
  • 27 / 1
  • Чем смогу, тем помогу )))
Re: Идентификаторы роботов
« Ответ #6 : 29.02.2012, 20:15:38 »
404
Извиняюсь, поправил.
Вопросы по JFORMS, можно ещё попробовать задать здесь
Российский 3d сканер от разработчиков и производителей
*

Neptun

  • Захожу иногда
  • 183
  • 8 / 0
Re: Идентификаторы роботов
« Ответ #7 : 09.06.2012, 10:06:59 »
Здравствуйте!
Подскажите новичку, как мне пользоваться Вашей информацией? Как вы узнаётё, кто и когда Вас посещает? Может ест какой-нибудь мануал? Спасибо
*

faraon_x

  • Захожу иногда
  • 362
  • 27 / 1
  • Чем смогу, тем помогу )))
Re: Идентификаторы роботов
« Ответ #8 : 12.06.2012, 17:57:10 »
Здравствуйте!
Подскажите новичку, как мне пользоваться Вашей информацией? Как вы узнаётё, кто и когда Вас посещает? Может ест какой-нибудь мануал? Спасибо
Для отслеживания пользуйтесь либо специализированными компонентами, либо смотрите логи апача на хостинге. Обычно на хостинге установлены 1-2 программ для чтения этих логов.
Вопросы по JFORMS, можно ещё попробовать задать здесь
Российский 3d сканер от разработчиков и производителей
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Рекомендации PageSpeed - используйте кэш браузера &

Автор leo78

Ответов: 21
Просмотров: 5965
Последний ответ 31.03.2018, 18:40:58
от stendapuss
Заменить ремаркетинг на Контекстный тарг

Автор Влад

Ответов: 0
Просмотров: 1037
Последний ответ 07.08.2017, 18:19:17
от Влад
1200 внутренних ссылок на каждой странице

Автор Dmitriy M

Ответов: 0
Просмотров: 992
Последний ответ 16.03.2017, 18:25:37
от Dmitriy M
Микроразметка schema.org vs validator HTML

Автор Strikerus

Ответов: 3
Просмотров: 1874
Последний ответ 15.02.2017, 12:11:20
от dmitry_stas
исключения из redirect 301

Автор iliya777

Ответов: 1
Просмотров: 1324
Последний ответ 12.01.2017, 15:15:20
от iliya777