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

SpideR-KOSS

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Сайт знакомств на K2.
« : 17.01.2012, 11:41:23 »
Возникла идея создать сайт знакомств, ориентированный на 50-100 чел. траффика.
Изначально была идея использовать CommunityBuilder, но увидев возможности К2 призадумался, а может...
У кого есть опыт работы с К2, есть ли вариант сделать сайт знакомств на К2? Чтоб я уже не дергался. *DRINK*
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Сайт знакомств на K2.
« Ответ #1 : 17.01.2012, 13:04:55 »
в любом случае самому много "пилить" придется. Готовых решений а-ля: установил Joomla и компонент "знакомства" нет.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

SpideR-KOSS

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Сайт знакомств на K2.
« Ответ #2 : 17.01.2012, 13:07:05 »
в любом случае самому много "пилить" придется. Готовых решений а-ля: установил Joomla и компонент "знакомства" нет.
Впринципе держит только Анкета, т.е доп. поля в профиле. Аватары есть, фотогалерея есть, личные сообщения можно прикрутить...
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Re: Сайт знакомств на K2.
« Ответ #3 : 17.01.2012, 13:27:57 »
Если что - есть специально обученные компоненты: http://extensions.joomla.org/extensions/living/dating-a-relationships
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

SpideR-KOSS

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Сайт знакомств на K2.
« Ответ #4 : 17.01.2012, 13:53:39 »
Если что - есть специально обученные компоненты: http://extensions.joomla.org/extensions/living/dating-a-relationships
Спасибо, но уже видел...
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Сайт знакомств на K2.
« Ответ #5 : 17.01.2012, 17:53:45 »
Love Factory идеальный вариант, юзал-ковырял на досуге :)
*

SpideR-KOSS

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Сайт знакомств на K2.
« Ответ #6 : 17.01.2012, 18:24:53 »
Love Factory идеальный вариант, юзал-ковырял на досуге :)
Обращал на него внимания. Функционал у него конечно что надо. Но все на инглише. А сидеть делать русик не сильно хочется. Проект не масштабный, поэтому хочется реализовать его без лишних трудозатрат.
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
Re: Сайт знакомств на K2.
« Ответ #7 : 17.01.2012, 18:30:42 »
Впринципе держит только Анкета, т.е доп. поля в профиле. ...

http://getk2.org/extend/extensions/date/item/73-user-extended-fields-for-k2
*

SpideR-KOSS

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Сайт знакомств на K2.
« Ответ #8 : 17.01.2012, 18:42:02 »
http://getk2.org/extend/extensions/date/item/73-user-extended-fields-for-k2
Спасибо за наводку, но немного не то. Поля нельзя свои там добавлять...
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Сайт знакомств на K2.
« Ответ #9 : 17.01.2012, 19:30:52 »
Обращал на него внимания. Функционал у него конечно что надо. Но все на инглише. А сидеть делать русик не сильно хочется. Проект не масштабный, поэтому хочется реализовать его без лишних трудозатрат.
Да там всего три сотни текстовых переменных - за 3-4 часа всё сделать можно!
*

SpideR-KOSS

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Сайт знакомств на K2.
« Ответ #10 : 17.01.2012, 19:40:55 »
Да там всего три сотни текстовых переменных - за 3-4 часа всё сделать можно!
Уже занимаюсь этим... :-)
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Сайт знакомств на K2.
« Ответ #11 : 17.01.2012, 19:44:32 »
Какая версия? Если 2.7 - можешь обнародовать тут, думаю, народу полезно будет. У меня просто одна из первых была, да и проект уже прибил, кажись... Хотел подкинуть то, что я перевёл - да не судьба, видать.
*

SpideR-KOSS

  • Осваиваюсь на форуме
  • 24
  • 0 / 0
Re: Сайт знакомств на K2.
« Ответ #12 : 17.01.2012, 19:48:51 »
Какая версия? Если 2.7 - можешь обнародовать тут, думаю, народу полезно будет. У меня просто одна из первых была, да и проект уже прибил, кажись... Хотел подкинуть то, что я перевёл - да не судьба, видать.
Версия 2.4.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Сайт знакомств на K2.
« Ответ #13 : 17.01.2012, 20:13:55 »
а, ну да... То 1.7 для полторашки была последняя. Перепутал.
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Сайт знакомств на K2.
« Ответ #14 : 18.01.2012, 02:06:07 »
к2 + JomSocial ?! такая связка не подходит для этого?!

тут даже можно без к2 обойтись по идее!
Смотрю....
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Сайт знакомств на K2.
« Ответ #15 : 18.01.2012, 10:51:37 »
к2 + JomSocial ?! такая связка не подходит для этого?!

тут даже можно без к2 обойтись по идее!

Love Factory дешевле и напильник не нужен, а JomSocial для данной темы не будет без напильника работать
*

SimplyWeb

  • Осваиваюсь на форуме
  • 26
  • 2 / 0
Re: Сайт знакомств на K2.
« Ответ #16 : 10.07.2012, 14:56:28 »
Сейчас в Love Factory срок действия тарифа измеряется в месяцах (1,2,...), может кто знает где изменить это значение например на дни?
Где копать?
Спасибо.
*

Dorfman

  • Завсегдатай
  • 1202
  • 78 / 4
  • Почти влез...
Re: Сайт знакомств на K2.
« Ответ #17 : 10.07.2012, 18:50:13 »
Сейчас в Love Factory срок действия тарифа измеряется в месяцах (1,2,...), может кто знает где изменить это значение например на дни?
Где копать?
Спасибо.

Присоединяюсь к вопросу. Если доберусь - отпишусь. Но вопрос правильный, помнится, меня это тоже интересовало
*

SimplyWeb

  • Осваиваюсь на форуме
  • 26
  • 2 / 0
Re: Сайт знакомств на K2.
« Ответ #18 : 16.07.2012, 14:22:53 »
Присоединяюсь к вопросу. Если доберусь - отпишусь. Но вопрос правильный, помнится, меня это тоже интересовало
Ну как? никаких мыслей по этому поводу?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не открываются файлы после загрузки на сайт

Автор GeniusUd

Ответов: 1
Просмотров: 853
Последний ответ 01.02.2021, 17:19:38
от voland
как добавить ссылку в вк на сайт

Автор Рашид

Ответов: 1
Просмотров: 1128
Последний ответ 01.11.2017, 13:50:04
от Akeksandr
Перенос материалов К2 на другой сайт

Автор Ctrogo

Ответов: 11
Просмотров: 5017
Последний ответ 18.03.2017, 01:18:32
от spas
В k2 после подтверждения E-mail не могу зайти на сайт

Автор faust126

Ответов: 4
Просмотров: 1549
Последний ответ 16.06.2016, 11:52:04
от darkghost
Отключить поле сайт в отзывах к2

Автор katalog_2003

Ответов: 10
Просмотров: 1601
Последний ответ 30.05.2016, 00:00:01
от katalog_2003