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

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Привет
Не знаю почему но у меня перестало увеличиваться изображение по клику, изображение в окошке остаётся такое-же как и в материале. (окошко появляется но не увеличивает).
Помогите, скажите где задать размер изображения в модальном окне? У меня уже голова кругом идет, везде уже менял размер и по новому фото загружал.

Не могу понять из-за чего это произошло, последнее что делал это немного изменил CSS у span.catItemImage img
« Последнее редактирование: 28.08.2014, 20:28:47 от dimat84 »
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
почему-то в старых статьях фото увеличивается а в новых нет
вот старая статья, тут работает норм. http://xn----8sbadhec1bwwbea1a0b9j.xn--p1ai/sobytiya/3-dtp-v-den-molodezhi
а вот новая, тут не увеличивает http://xn----8sbadhec1bwwbea1a0b9j.xn--p1ai/sobytiya/82-yamal-raj-dlya-aferistov
« Последнее редактирование: 29.08.2014, 14:41:27 от dimat84 »
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
У кого-нибудь есть варианты причины?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Посмотрите в настройках - скорее всего у вас выставлены в параметрах такие размеры. Думаю, если очистить кеш, то во всех статьях перестанут увеличиваться картинки...
Создание сайтов, шаблонов, помощь в решении проблем.
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Заново перезаливать фото не надо? просто кеш чистить?
« Последнее редактирование: 29.08.2014, 17:44:16 от dimat84 »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
Заново перезаливать фото не надо? просто кеш чистить?
Вот этот момент точно не скажу. Может и перезаливать придётся...
Создание сайтов, шаблонов, помощь в решении проблем.
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Это скорей всего настройки? не может так быть из-за чего-то другого?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Рубашку рвать на себе не буду, но думаю, что дело в настройках...
Создание сайтов, шаблонов, помощь в решении проблем.
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Спасибо за помощь. Буду ковыряться с настройками  ^-^ . Хотя вроде все настройки менял туда-сюда.
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
Efanych ты был прав, поставил в настройках нужный размер, очистил кеш в браузере и всё ок  ^-^ . Правда надо фото заново перезаливать.
Но всё равно интересно почему так стало, я ведь настройки К2 вроде не изменял.
Извиняйте )))) фото удалил, не там настраивается ))))
« Последнее редактирование: 29.08.2014, 18:02:12 от dimat84 »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Не уверен, что это нужная настройка.
Размеры окна и размеры фоток - разные вещи.
В параметрах к2 есть вкладка изображения, там есть размеры очень большого изображения. Поидее там надо править.
А размеры всплывашки вы выставили - это костыль. Маленькая фотка просто растянется...
Создание сайтов, шаблонов, помощь в решении проблем.
*

dimat84

  • Давно я тут
  • 517
  • 20 / 0
да, это не то ))) исправил предыдущее сообщение. Я забыл что я много где установил такой размер, сейчас проверил и понял )))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как заменить заглушку изображения в к2?

Автор sergspb

Ответов: 0
Просмотров: 2808
Последний ответ 13.10.2022, 14:21:02
от sergspb
Изображения в K2

Автор portos

Ответов: 68
Просмотров: 31605
Последний ответ 10.12.2020, 00:45:57
от Divn
Можно ли безболезненно добавить загрузку еще одной миниатюры, изображения?

Автор designerandrey

Ответов: 0
Просмотров: 1546
Последний ответ 16.04.2019, 20:22:13
от designerandrey
Вывести материал в модальном окне. Как?

Автор Grione

Ответов: 4
Просмотров: 1168
Последний ответ 01.02.2019, 17:01:54
от Grione
Всплывающее окно изображения в материале

Автор Дмитрий 1989

Ответов: 6
Просмотров: 1918
Последний ответ 12.03.2018, 21:20:55
от Дмитрий 1989