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

Licher

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Всем привет.

Кто может помочь ?

в Akeeba Subscriptions 5.2.3 при вводе Кода купона  отключить  проверку заполнения остальных полей ? (адрес, индекс итд)
что бы не выскакивала эта надпись.

Цитировать
Ошибка
There were some errors in the subscription form you submitted. The error messages appear in red letters next to each field of the form. Please correct them and click the Subscribe Now button again.



ссылка на Акебу 5.2.3 https://yadi.sk/d/ZPM-sF3f3L8nJn
« Последнее редактирование: 19.07.2017, 17:09:44 от Licher »
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
это есть в настройках.
купон тоже.
и поля, раз пишете, что никак.

акеба зло.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Licher

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
это есть в настройках.
купон тоже.
и поля, раз пишете, что никак.

не нашли мы это в настроиках...
с купонами все ок.
поля удалили, но скрипт проверяет и выдает что они не заполнены...
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Отключение полей, как и их настройки там есть.
Проверил ради ответа.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Licher

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Отключение полей, как и их настройки там есть.
Проверил ради ответа.


если не сложно подскажите пожалуйста где именно эти настройки находятся?
« Последнее редактирование: 17.07.2017, 22:24:51 от Licher »
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Не на месте, в дороге, напомните в личку или в теме, если будет актуально.

Спойлер
[свернуть]
Сорри за ошибку.
« Последнее редактирование: 18.07.2017, 08:51:43 от vipiusss »
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Licher

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Не на месте, в дороге, напомните в личку или в теме, если будет актуально.

Спойлер
[свернуть]
Сорри за ошибку.

Вот тут можно скачать
https://github.com/akeeba/akeebasubs/releases
« Последнее редактирование: 18.07.2017, 09:42:49 от Licher »
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Давайте я просто вырежу эту часть? Я не знаю, как правильно. Признался честно, я не юзал модуль.
Я просто вчера перепутал его.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Licher

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Давайте я просто вырежу эту часть? Я не знаю, как правильно. Признался честно, я не юзал модуль.
Я просто вчера перепутал его.

Хорошо, если будет работать то ОК)
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Да у вас в архиве лапша расширений.
Вы о каком модуле? у вас там один,art***, всё остальное plg/
Вы что ставили?

И нет по вашему названию этого.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

zikkuratvk

  • Глобальный модератор
  • 4820
  • 345 / 2
  • Обслуживаем проекты - дорого.
если пямять не изменяет купоны как раз плагином выводятся.
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

zikkuratvk

  • Глобальный модератор
  • 4820
  • 345 / 2
  • Обслуживаем проекты - дорого.
а вообще я бы рекомендовал сейчас rd подписки
Хочется уникальное расширение? ===>>>> JoomLine - Разрабатываем расширения под заказ.
Использую хостинг TimeWeb и Reg
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
если пямять не изменяет купоны как раз плагином выводятся.

Так не модулем же!!"!
И не этой версии.

ТС, уточните, что вы из архива ставили?!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Licher

  • Осваиваюсь на форуме
  • 47
  • 1 / 0
Re: работа с компонентом Akeeba Subscriptions 5.2.3
« Ответ #13 : 18.07.2017, 18:05:55 »
Так не модулем же!!"!
И не этой версии.

ТС, уточните, что вы из архива ставили?!

я все ставил, я не знаю какой конкретно модуль отвечает за купоны.
Причем тут купоны вообще ? С ними все ОК
Нужно отключить проверку заполнения остальных полей. (на скриншоте они вырезаны, их не видно)
« Последнее редактирование: 22.07.2017, 08:39:00 от Licher »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Доработка сайта на Joomla (Долгосрочная работа)

Автор saynez

Ответов: 3
Просмотров: 927
Последний ответ 04.04.2021, 21:02:52
от saynez
Нужен разработчик - вебмастер с опытом | по проектная работа

Автор SalityGEN

Ответов: 2
Просмотров: 822
Последний ответ 04.09.2020, 18:28:52
от SalityGEN
Мелкая работа по JComments

Автор sega

Ответов: 5
Просмотров: 1101
Последний ответ 12.08.2019, 14:21:14
от beliyadm
Rich snippets для сайта с компонентом ZOO

Автор saschka

Ответов: 0
Просмотров: 637
Последний ответ 15.01.2018, 15:09:03
от saschka
Работа с регулярками. Плагин для редактора

Автор vipiusss

Ответов: 0
Просмотров: 835
Последний ответ 27.02.2017, 10:25:31
от vipiusss