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

Sirius02030

  • Захожу иногда
  • 56
  • 0 / 0
Добрый день, мы набираем команду единомышленников для абсолютно нового взрывного и глобального проекта.

Интерактивная интеллектуальная площадка, на которой всё виртуальное воплощается в реальность.

 Выглядеть она будет, как глобальная социальная сеть с элементами партнерской программы и новостного портала, возможностью ввода и вывода денежных средств, виртуального 3д конструктора, личных кабинетов, интернет магазина, форума,  а также многого другого, что не было воплощено ни на одном портале в мире.

На ней люди будут зарабатывать, учиться и развиваться. Экономическая схема предусматривает отсутствие налогооблагаемой базы (например, как в потребительском обществе). Возможность сформировать собственное сообщество и эко-поселение. Возможно создание собственного личного кабинета, как торговой лавки, торговли на ней своими продуктами производства, материалами, знаниями и прочим. На площадке можно будет найти рабочее место по своим навыкам, хобби и образованию. Узнавать интересные новости, обучаться, а также общаться по интересам, хобби и профессии.
 Продумана и глубоко проработана базовая производственная технологическая и экономическая схема на основе инноваций. Возможность выбрать и купить земельные  участки. Поставить, изначально, на собственном виртуальном участке дом, по инновационной технологии “MONOSOTA”(см. monosota.ru), узнать его стоимость и комплектацию, разные варианты и виды. Затем  выбрать материалы, из которых он будет построен, узнать по каждому материалу информацию, сравнить, выбрать наиболее подходящий для Вас. Оформить заказ, связаться со специалистами, которые помогут составить Вам договора и документы. Построить дом за сутки, сделать планировку и оформление, выбрать и расставить мебель.  Выбрать себе соседей, завести новые интересные знакомства, вести онлайн репортажи и уроки, делать заказы продуктов питания напрямую от производителя, и многое другое.

Все технологии базируются на реальных изобретениях и находятся в глобальных трендах:
•   автоматическое эко-строительство нового поколения,
•   инновационные эко-поселения,
•   агро-комплексы с эко-продуктами на дом каждому,
•   автономная энергетика,
•   скоростные транспортные системы в 8 раз более эффективные, чем ржд и маглев,
•   аква-направление, города на воде.

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

Это не наемный труд, который популярен в наше время. Мы набираем команду тех, кто будет не только трудиться и помогать, но и брать на себя ответственность, развивать проект, вносить предложения по развитию и усовершенствованию, а также быть в качестве разработчика, ну и соответственно, прилично зарабатывать, как партнер и сотрудник.

Почта для связи и сотрудничества: info@monosota.ru
*

Sirius02030

  • Захожу иногда
  • 56
  • 0 / 0
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Нет не спам. Вы не умеете читать?
Я прочитал. Где указан бюджет проекта, каковы условия сотрудничесва и т.д.? Ответьте на эти два пункта.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Sirius02030, по-моему, я вас помню: в разное время, под разными никами, но стилистика и манера впаривания "своих идей" одна и та же.
Не будь паразитом, сделай что-нибудь самостоятельно!
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
А я почти повелся... Ведь как написано:
Продумана и глубоко проработана базовая производственная технологическая и экономическая схема на основе инноваций...
Получается, что нужно за бесплатно подключиться к реализации столь грандиозной затеи за призрачные обещания возможного реактивного взлета, мировой славы и дождя из золотых слитков? Я пас.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

AlekVolsk

  • Гуру
  • 6913
  • 416 / 4
профессионально верстаю, работа только по предоплате, $9 в час и я ваш
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Интерактивная карта

Автор yandex_hb

Ответов: 1
Просмотров: 1147
Последний ответ 14.07.2021, 16:02:48
от varX
Сделать на существующем Joomla сайте набор из зависимых форм с привязкой калькулятора

Автор greenspot

Ответов: 0
Просмотров: 811
Последний ответ 19.01.2017, 13:35:22
от greenspot
SEO оптимизация проекта и НЧ продвижение

Автор vadyani4

Ответов: 3
Просмотров: 824
Последний ответ 29.09.2016, 17:05:58
от voland