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

Koriolan

  • Захожу иногда
  • 118
  • 0 / 0
Почему-то не работает загрузка zip-архива в галерее. Выдавет сообщение:

Цитировать
Неизвестный тип архива
Ошибка загрузкм галереи. Невозможно распаковать архив.

Платформа:
Joomla  2.5.9
K2 v2.6.5
Simple Image Gallery Pro 2.5.7

Формат архива zip (зипованы изображения а не папка с ними)
Размер архива 1 Мб

Словом. вроде бы все правильно, но архив не определяется.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Проблема в работе галереи
« Ответ #1 : 12.03.2013, 14:03:02 »
Что-то криво установилось.Или криво заархивировалось, к примеру. Галерея выодит через синтаксис {gallery}image-folder{/gallery}  изображения из корневой папки? Проверить архиватор.Было такое, что зиповали и в 7-zip. В сам формат 7-zip.А потом говорили..ну так ведь зип же...Возможно, что кривой дистрибутив где-то.
*

Koriolan

  • Захожу иногда
  • 118
  • 0 / 0
Re: Проблема в работе галереи
« Ответ #2 : 12.03.2013, 16:15:27 »
Что-то криво установилось.Или криво заархивировалось, к примеру. Галерея выодит через синтаксис {gallery}image-folder{/gallery}  изображения из корневой папки? Проверить архиватор.Было такое, что зиповали и в 7-zip. В сам формат 7-zip.А потом говорили..ну так ведь зип же...Возможно, что кривой дистрибутив где-то.

Да вроде бы все перечисленное уже проверил. Удалял и переустанавливал Simple Image Gallery Pro 2.5.7 Пробовал разные дистрибутивы. Удалил и установил Simple Image Gallery Pro 2.6.0 - результат тот же.
В настройках перебирал разные версии jQuery (мало ли что :)
Результата - ноль.

Сам архив zip. Тоже проверил не единожды. Самое досадное, что на других сайтах, где используется данная связка, все работает как часы. Т.е. проблема не в моих кривых руках, а в чем-то другом.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Проблема в работе галереи
« Ответ #3 : 12.03.2013, 18:37:29 »
Еще раз самый важный вопрос...выводит ли плагин стандартным синтаксисом изображения из корневой папки?
*

recived

  • Захожу иногда
  • 69
  • 6 / 0
Re: Проблема в работе галереи
« Ответ #4 : 14.03.2013, 08:58:51 »
error лог апача сюда скиньте, либо сами его проверьте. А самое проще самому мониторить данные проблемы. Если есть ssh, то на помощь приходит tail -f error.log | grep "ваш ip", далее просто заливаем архив и наблюдаем за выводом.
« Последнее редактирование: 14.03.2013, 09:04:48 от recived »
*

Koriolan

  • Захожу иногда
  • 118
  • 0 / 0
Re: Проблема в работе галереи
« Ответ #5 : 15.03.2013, 23:31:00 »
Еще раз самый важный вопрос...выводит ли плагин стандартным синтаксисом изображения из корневой папки?

Да, выводит. Вписываю шорткод в статью и, если в указанной папке есть изображения, то выводит.
*

Koriolan

  • Захожу иногда
  • 118
  • 0 / 0
Re: Проблема в работе галереи
« Ответ #6 : 16.03.2013, 17:59:43 »
error лог апача сюда скиньте, либо сами его проверьте. А самое проще самому мониторить данные проблемы. Если есть ssh, то на помощь приходит tail -f error.log | grep "ваш ip", далее просто заливаем архив и наблюдаем за выводом.

Боюсь показаться невежей. но это где и как?  :(
*

Serg_

  • Захожу иногда
  • 168
  • 24 / 1
  • Skype: smile_bot (Запорожье)
Re: Проблема в работе галереи
« Ответ #7 : 02.04.2013, 16:03:06 »
Здравствуйте. Возникла такая же проблема. Подскажите как вы исправили ошибку. Спасибо.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

K2 + Falang, проблема с поиском

Автор x1

Ответов: 1
Просмотров: 2696
Последний ответ 07.02.2022, 16:15:37
от x1
Проблема с датой

Автор nick71

Ответов: 0
Просмотров: 802
Последний ответ 02.03.2020, 20:44:18
от nick71
Проблема с нагрузкой на хостинг сервер Joomla 3.9.13 + K2+подсчет хитов

Автор Kokshetau

Ответов: 0
Просмотров: 1027
Последний ответ 27.01.2020, 10:53:02
от Kokshetau
Проблема с дополнительным полем "ДАТА"

Автор Rustik

Ответов: 5
Просмотров: 2243
Последний ответ 10.10.2019, 14:35:11
от Mehanick
Проблема с ссылками внутри материала

Автор x1

Ответов: 1
Просмотров: 914
Последний ответ 27.01.2019, 12:11:03
от x1