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

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Кому интересна данная тема отпишитесь.
кодинг на php.
*

gwynnbleiidd

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Интересно конечно, пиши я уже вникаю.
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Собираю сведения насколько востребован данный компонент, стоит ли тратить время на его разработку.
кодинг на php.
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Наберется хотя бы десять желающих, реализую данный компонент в самое ближайшее время и выложу его в свободное пользование.
Я так понимаю в России мало кто использует этот компонент в серьезных проектах. А зря, очень удобный компонент К2.
кодинг на php.
*

guk_oleg

  • Новичок
  • 7
  • 1 / 0
+1  очень нужен данный компонент.
*

gwynnbleiidd

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Я использую и проект не слабый, конечно пока его на буржуй версии использую, но всё равно, тема очень важна, просто сейчас лето, и до осени наврядле наберёш желаюших, потому делай,поверь желающие будут, если компонент бесплатный будет, я даже копеечку скину на поддержку, если компонент стоющий
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Какой смысл выкладывать в свободное скачивание мало востребованный компонент?
кодинг на php.
*

mara

  • Захожу иногда
  • 115
  • 0 / 0
нужен конечно
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
еще желающие есть?
кодинг на php.
*

kilmobile

  • Новичок
  • 2
  • 0 / 0
Очень надобно такой компонетик. Который RSS из K2 вещает. 8)
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
поддерживаю, надобно такое чудо) если бы еще и можно было регулировать количество текса отдаваемого рсс то вообще было б чудесно
Бложик про joomla, k2, joomshoppingdevul.ru
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Сам озадачился этой проблемой.
Искал решение подобное Ninja RSS Syndicator. Обратился к разработчику с вопросом о поддержке K2.
Сказал типа поддержки K2 ждите в следующей версии.
Вот сам диалог
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

Dagiz

  • Захожу иногда
  • 78
  • 1 / 0
Да надо! Многие бы еще согласились если бы понимали преимущества K2 RSS экспорт
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
ну так как? топикстартер как видите тема актуальна, может быть поделить таковой штучкой?
Бложик про joomla, k2, joomshoppingdevul.ru
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
ну так как? топикстартер как видите тема актуальна, может быть поделить таковой штучкой?
походу забил...
для себя пока выделил 3 варианта:
    Напрямую тянем RSS всех категорий: http://domain.ru/index.php?option=com_k2&view=itemlist&format=feed&type=rss
    Используем http://community.getk2.org/xn/detail/3536014:Comment:72081
    Или покупаем http://foobla.com/products/featured-joomla-extensions/foobla-rss-feed-creator-for-joomla.html
« Последнее редактирование: 19.06.2011, 00:45:56 от Очередной вебмастер »
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!

Значит нет никаких решений не существует. Очень печально что даже такие простые вещи Joomla не позволяет сделать.
Очередной вебмастер: второй вариант выхода из положений можно как нибудь по русски объяснить а то в английском не силен.
За ранее благодарен.
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Значит нет никаких решений не существует. Очень печально что даже такие простые вещи Joomla не позволяет сделать.

"Такие простые вещи" не позволяет делать и битрикс (баги и ошибки) и юми и неткат.

Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
ну так как? топикстартер как видите тема актуальна, может быть поделить таковой штучкой?
Да вижу, тема актуальна но не настолько что бы выкладывать компонент в общий доступ. данный компонент я написал еще год назад, просто не стал пока выкладывать в общее пользование, но все кто хотел его получить  уже давно как им пользуются :)
По вопросам использования данного компонета прошу писать в личку.
кодинг на php.
*

skai

  • Завсегдатай
  • 1198
  • 153 / 1
  • skaiseo
По вопросам использования данного компонета прошу писать в личку.
- почему бы просто не озвучить цену?
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

stah

  • Осваиваюсь на форуме
  • 27
  • 1 / 0
Нужен! очень! хелп!
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Обратитесь к автору.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

SDKiller

  • Moderator
  • 2705
  • 329 / 5
  • ...ergo sum
... но не настолько что бы выкладывать компонент в общий доступ...
По вопросам использования данного компонета прошу писать в личку.

ТС разместить тему в коммерческом разделе, оформив в соответствии с правилами коммерческого раздела

Данная тема закрыта и будет через некоторое время удалена

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться