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

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Оставить .html или убрать?
« Ответ #30 : 16.09.2012, 20:08:45 »
а я вам рекомендую открыть ТОП и увидеть все своими глазами и не слушать кто и что там говорит - такой подход более эффективен, чем басни "знатоков"
*

vaymohk

  • Захожу иногда
  • 258
  • 1 / 0
  • Ingtimes.ru | Новости Ингушетии
Re: Оставить .html или убрать?
« Ответ #31 : 16.09.2012, 20:14:18 »
Хорошо я так и сделаю))
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Оставить .html или убрать?
« Ответ #32 : 16.09.2012, 20:20:05 »
я это сделала уже за вас - читателей "интерактивных бложков" заточенных под постовые или сапу
так вот, берем к примеру недвижку по москве, из первой десятки:
6 имеет на конце слеш
3 - на конце без слеш
1 - с окончанием .aspx
тут .html даже не пахнет
Можете дальше ненавязчиво почитывать тот бред, о котором вам пишут, только не надо здесь это никому доказывать, оч прошу.
Удачи!


PS: вы поймите, я не претендую на истину, но я хотя бы могу подкрепить свои слова примерами, а не так что -  "там вот Вася Пупкин сказал ТАК делать, я и делаю" - мало ли кто что говорит. Кто знает наверняка - обычно промолчит.
Нравится вам окончание .html - используйте, дело хозяйское.
« Последнее редактирование: 16.09.2012, 20:39:41 от ELLE »
*

poiuy

  • Захожу иногда
  • 203
  • 30 / 6
  • o_O
Re: Оставить .html или убрать?
« Ответ #33 : 16.09.2012, 20:57:33 »
Я как-то вот, тоже думаю, что в 2012 году-то, яшa с гошей научились нормально индексировать любые страницы, которые им разрешено индексировать.

слэши и .хтмл пережиток прошлого, когда слэш означал - директорию, а .html - страницу. Надо заметить, что так давно это было, что и SEO то еще не существовало, как таковой. Старовер какой-то насоветовал, и все, на серче ребята с боольшой репой разнесли слушок, и все - с .html лучше индескирует ))

Доки покажите от Гуголя или Яндекса, не то, что с ним (.html) лучше, а хотя бы вообще упоминание этого?!
*

San4ozzZ

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Оставить.html или убрать?
« Ответ #34 : 07.12.2013, 04:07:13 »
а как убрать .html ?
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Re: Оставить.html или убрать?
« Ответ #36 : 07.12.2013, 04:31:11 »
.html удобен еще и тем, что можно полностью статические страницы добавлять к движку, ну не надо мне например, чтобы движок нудно и скрипя формировал страничку с моим скриптом, которую я и без него сто лет назад сформировал отверстал и вот она!!))) в одном стиле когда (т.е. все в .html) - и редиректы проще делать и тд и тп и ввв и без ввв и прочая. а десятка по недвижке - пример сомнительный, эта сфера вообще черная насквозь, и склизкая, пусть они там уже сварятся со своими аспх и прочая)))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Убрать из URL GET-параметр и сделать редирект на главную

Автор zeus07

Ответов: 8
Просмотров: 1021
Последний ответ 19.11.2021, 13:10:41
от zeus07
Убрать?view=category из url

Автор Vlad1

Ответов: 7
Просмотров: 2778
Последний ответ 08.09.2020, 06:50:07
от kostikcom
Убрать ссылку в Переключателе языков при отсутствии связи

Автор Gerostrat

Ответов: 2
Просмотров: 1681
Последний ответ 25.06.2019, 14:41:30
от Gerostrat
На что должна заканчиваться категория и товар: на слэш или на.html?

Автор fominmen25

Ответов: 11
Просмотров: 2059
Последний ответ 16.04.2019, 16:11:37
от effrit
Как убрать https:/site.ru/kstegoriy/material?start=208?

Автор Dolphin4ik_1

Ответов: 0
Просмотров: 1068
Последний ответ 22.11.2018, 21:52:49
от Dolphin4ik_1