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

mremin

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Выбор домена для сайта
« : 24.04.2016, 13:54:44 »
Приветствую, друзья!

Просветите по такому вопросу: я создаю сайт на двух языках (русском и английском). Какую доменную зону при этом выбрать?
.RU на мой взгляд не совсем подходит, так как (если я правильно понимаю) поисковая система ориентируется на язык операционной системы и в результатах поиска выводит сайты на этом же языке. Таким образом, сайт в зоне .RU не будет фигурировать в поисковой выдаче для англоязычных пользователей.

С другой стороны, сайт в зона .COM или .INFO может не попасть в поисковую выдачу для русскоязычных пользователей.

Или я неправильно понимаю?

Спасибо.
« Последнее редактирование: 24.04.2016, 13:58:16 от mremin »
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Выбор домена для сайта
« Ответ #1 : 24.04.2016, 14:15:57 »
Неправильно понимаете
*

mremin

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Выбор домена для сайта
« Ответ #2 : 24.04.2016, 14:24:22 »
Неправильно понимаете
Поясните, пожалуйста, подробнее.
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Выбор домена для сайта
« Ответ #3 : 24.04.2016, 14:33:07 »
Так вы сами все расписали в своем вопросе. Только поисковая система при поиске не ориентируется на язык операционной системы, она ориентируется на язык на котором сделан запрос.
*

mremin

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Выбор домена для сайта
« Ответ #4 : 24.04.2016, 14:36:42 »
Так вы сами все расписали в своем вопросе. Только поисковая система при поиске не ориентируется на язык операционной системы, она ориентируется на язык на котором сделан запрос.
Большое спасибо!
*

dmtn

  • Захожу иногда
  • 381
  • 25 / 2
Re: Выбор домена для сайта
« Ответ #5 : 24.04.2016, 21:27:09 »
кажется при том количестве доменов первого уровня, что расплодились за последние годы, париться об отношении языка и домена должны не разработчики, а поисковики
*

mremin

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Выбор домена для сайта
« Ответ #6 : 24.04.2016, 21:28:10 »
кажется при том количестве доменов первого уровня, что расплодились за последние годы, париться об отношении языка и домена должны не разработчики, а поисковики
Хорошо сказано! ))
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Выбор домена для сайта
« Ответ #7 : 24.04.2016, 21:32:28 »
а с чего бы вдруг com зона стала иностранной?
коммерческий домен. если у вас коммерческий  ресурс - смело можно делать.
по крайней мере разведение по языкам будет логичнее смотреться, чем **.ru/en
*

mremin

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Re: Выбор домена для сайта
« Ответ #8 : 24.04.2016, 21:33:31 »
а с чего бы вдруг com зона стала иностранной?
коммерческий домен. если у вас коммерческий  ресурс - смело можно делать.
по крайней мере будут логичнее смотреться, чем **.ru/en
Нет, сайт информационный. Думаю, логичнее всего выбрать зону .INFO.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Выбор домена для сайта
« Ответ #9 : 24.04.2016, 21:36:13 »
Есть национальные зоны - на них логичнее (но не обязательно) делать национальные сайты.
Есть классические TLD - там можно и английский и русский.
Есть куча новых зон опять же - выбирай, не хочу
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как найти и определить сервис раскрутки сайта?

Автор Gosha5767

Ответов: 0
Просмотров: 4684
Последний ответ 08.07.2025, 17:19:50
от Gosha5767
Дополнительное название домена в Google

Автор web1

Ответов: 1
Просмотров: 2034
Последний ответ 18.12.2023, 12:56:21
от SeBun
Как вывести в сниппете название статьи, а потом название сайта?

Автор gorbi_U

Ответов: 0
Просмотров: 1092
Последний ответ 18.01.2022, 18:29:22
от gorbi_U
Вопрос про геопривязку домена и поддоменов

Автор 20strannik08

Ответов: 17
Просмотров: 2934
Последний ответ 20.11.2021, 17:54:52
от Byzi
Как изменить в поисковике на сайте имя домена?

Автор alex-morebook

Ответов: 2
Просмотров: 1121
Последний ответ 20.11.2021, 17:51:48
от Byzi