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

Downwhite

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #30 : 10.02.2013, 05:03:16 »
да он мне не нужен совершенно. да и даже ради любопытства. какого хрена он его оставляет пустым?
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #31 : 10.02.2013, 05:06:34 »
Да, бдет показываться пустым блоком. Это верное. Такое на некоторых шаблона у гавика есть.
Кривизна рук не компенсирует прямизну извилин.
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
Кривизна рук не компенсирует прямизну извилин.
*

Downwhite

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #33 : 10.02.2013, 05:11:09 »
и как исправить это?
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #34 : 10.02.2013, 05:16:53 »
В смысле?!  Ну, предусмотрено кодом шаблона. Если чет не устраивает, лезть в код. Похожие ответы но по другим шаблонам можно думаю найти на форуме гавика. Вспомнил что видал точно отключение но в других шаблонах, думаю анагично можно сделть и для это. Разговор там был о добавлении  2-6 строчек кода.
Кривизна рук не компенсирует прямизну извилин.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #35 : 10.02.2013, 09:29:19 »
Отключение позиции mainbody абсолютно точно предусмотрено в коммерческих шаблонах Гавиков. В свое время сам разбирал у них Coffee, в итоге просто нарисовал что-то похожее сам с элементами их типографики. Но у меня вопрос.Я так понимаю, что угнетает Большой Белый Прямоугольник на Главной, а именно неотключаемая позиция mainbody? Так сделайте главной тогда в Joomla Woman к примеру, а пункт меню Home вообще уберите.И может случиться щастие.
*

Downwhite

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #36 : 10.02.2013, 10:56:50 »
да если бы мне только Women был нужен)
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #37 : 10.02.2013, 15:08:15 »
Отключение позиции mainbody абсолютно точно предусмотрено в коммерческих шаблонах Гавиков.

А вот новые посмотрите. Для того чтобы mainbody не отображался пустым блоком, в нем нужно публиковать материал, а не в позициях выше или ниже. У меня все кроме последнего шаблона есть. И по поводу принудительного отключения пишут иногда у них на форуме. Попадаете на страницу на которой к примеру публикуется галерея фоток, так опубликуйте ее именно в mainbody и не будет пустого блока.
Кривизна рук не компенсирует прямизну извилин.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #38 : 10.02.2013, 20:12:52 »
да если бы мне только Women был нужен)
Или лыжи не едут, или я чего-то не понимаю..еще или уже...или вы не понимаете Joomla..еще...)))
Так и публикуйте пункты меню.Главных страниц не может быть много.Она всегда одна...ну и остальные.Если вы сделаете категорию Women, к примеру, Главной, то это не значит, что пропадут все остальные пункты меню? Или воспользуйтесь советом и просто опубликуйте чего там можно в позиции mainbody.
*

Downwhite

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #39 : 10.02.2013, 20:22:00 »
так модуль остаётся пустым на всех страницах. и в Men и Contact и в About
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Разобраться с модулем News Show Pro GK4 и K2
« Ответ #40 : 10.02.2013, 20:27:45 »
Не модуль, а позиция mainbody.Если она вообще там есть.Вы вообще что-нибудь делали с главной страницей? у или переназначьте вот прямо сейчас ваших вумен на главную.Чтобы можно было глянуть.А то ищем черную кошку в черной комнате..а ее там может и не быть.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывод видео в превьюNews Show Pro gk5 материала k2

Автор TYMON

Ответов: 0
Просмотров: 961
Последний ответ 07.06.2019, 21:11:57
от TYMON
Ограничить длину заголовков К2

Автор Yura Vakulenko

Ответов: 23
Просмотров: 7007
Последний ответ 15.02.2019, 17:46:30
от Slava77
Адаптированный список материалов катего

Автор fil

Ответов: 1
Просмотров: 1272
Последний ответ 06.08.2017, 17:47:12
от fil
Вывод результата поиска - К2 tools ?

Автор warlocksp

Ответов: 1
Просмотров: 1174
Последний ответ 15.03.2017, 14:31:49
от warlocksp
Слетает кодировка вложений K2

Автор FOGOT-BAstA

Ответов: 3
Просмотров: 1511
Последний ответ 11.03.2017, 22:34:11
от Septdir