Новости 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 Ответов
  • 1549 Просмотров
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Покупали шаблон у смартаддонов, в итоге пришлось внешний вид изменить на 100%  хотелки заказчиков, купи вот этот и  поставь, а потом начинается, подвинь вон там, а вон то перекрась, в итоге весть внешний вид переделан на 100%
Теперь, разработчики установили заглушку фотографий, если в материал не загрузили фото, висит серая картинка. Как можно отключить вообще показ заглушки? Вот для категорий убрать заглушку есть в параметрах а для материала нет.
Для материалов я так думаю правили файлы.

« Последнее редактирование: 03.11.2015, 07:51:21 от 12mv »
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Спойлер
[свернуть]
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Покупали шаблон у смартаддонов, в итоге пришлось внешний вид изменить на 100%

Теперь, разработчики установили заглушку фотографий, если в материал не загрузили фото, висит серая картинка. Как можно отключить вообще

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

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Ну как и предполагала, после написания второго сообщения пойдет только троллинг.. типа учи правила и никто не обязан))

Я никого не обязываю, я высказала своё мнение о том, что замечаю последнее время, и не только я.

*

vipiusss

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

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Если вы заметили, многие, в т.ч. и я помогают часто и новичкам и многим по иным вопросам.
Просто вы так начали тему и с разработчиками ведёте техн.диалог, вот вам никто и не мешает:зачем лезть к вам в чужой код?!

Я не веду с ними диалог :) Если бы я вела, я разве обратилась бы за помощью сюда?
Куплен клубный шаблон, у разработчиков встроено это уже. Всё изменили, теперь заказчица бьётся в истерике, убери мне заглушку..... Она хочет некоторые материалы без картинок публиковать, а там висит заглушка. Я сама поковырялась, не нашла пока. Тут я написала лишь с надеждой что кто то делал такое, пока сама ковыряюсь, может и ответ будет, дабы не тратить лишнего времени, просто многие ищут методы, наоборот заглушку поставить.
Есть тема как поставить заглушку, прошлась в точности наоборот сделать, не нашла.
*

vipiusss

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

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
Спойлер
[свернуть]
*

vipiusss

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

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
1.<a class="modal" rel="{handler: 'image'}" href="<?php echo $this->item->imageXLarge; ?>" title="<?php echo JText::_('K2_CLICK_TO_PREVIEW_IMAGE'); ?>">
это вы зачем примудрили? для эффекта, чтоб фото двигалось?
так есть интереснее эффекты и не таким образом!(или не вы)
2.про заглушку:
<div class="itemImageBlock"> у вас, задайте иной стиль и дисплей:ноне при незагруженной картинке:иф это, елзе это
3.меню никакое, наводяшка ужасная и вы смотрели с мобилки?
молчу про остальное, я не критик в данной теме.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
1. Не мудрили ничего)
2. Попробую
3. Вы не видели всего ужаса что было, это ещё исправили) Заказчица зациклилась на этом дизайне, фиг знает зачем, всё равно всё переделали В мобилке тоже подправляли. Всё возможное мы сделали, дизайн нужно делать с нуля, либо брать разработчиков у которых руки с того места растут, но тут капризы не наши, наше дело делать.  По поводу меню, было на много хуже, вообще никакое.
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
не буду далее критиковать, дабы не разводить флуд тут в теме.
поставть диву условие и при незагруженной картинки будет в стиле дисплей-ноне, при загруженной-новый div.
и уберите модалку, бред, а не код, и лишний и не нужный.
если эффект хотите-есть иное решение, но не так.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Автоматическая дата снятия с публикации материала

Автор kozhenevsky

Ответов: 10
Просмотров: 4309
Последний ответ 17.11.2023, 08:08:49
от Vastriet
Как заменить заглушку изображения в к2?

Автор sergspb

Ответов: 0
Просмотров: 2807
Последний ответ 13.10.2022, 14:21:02
от sergspb
В Joomla! 3.9.1 в к2 не меняется порядок расположения материала

Автор sergspb

Ответов: 0
Просмотров: 826
Последний ответ 12.06.2021, 15:20:52
от sergspb
Ошибка ПРИ создании материала В К2 - РЕШЕНО

Автор korchaga

Ответов: 1
Просмотров: 927
Последний ответ 28.12.2020, 03:21:46
от korchaga
Изображения в K2

Автор portos

Ответов: 68
Просмотров: 31604
Последний ответ 10.12.2020, 00:45:57
от Divn