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

stabilcomp

  • Осваиваюсь на форуме
  • 45
  • 11 / 0
Плагин предназначен для добавления картинке товара эффекта спотлайт при наведении на нее мышью. Похожий эффект вы можете наблюдать в компоненте Widgetkit Spotlight.

Совместимость:

JoomShopping 3.x.x, 4.x.x

Демо:
Демо 1 с чистой Joomla 2.5.19 и JoomShopping 3.16.2
Демо 2 с чистой Joomla 3.2.3 и JoomShopping 4.4.2

Что нужно сделать, чтобы плагин заработал:
1. Установить плагин через Установка и обновление (JoomShopping)
2. Выбрать картинку в настройках плагина (картинка, которая будет появляться при наведении мыши)
3. ... любоваться результатом.





Возможности:
  • Выбор цвета фона (overlay) в настройках плагина
  • Изменение прозрачности фона в настройках плагина
  • Выбор картинки в настройках плагина
  • Направления появления картинки: Проявление, Вылет снизу-вверх, Вылет слева-направо, Вылет сверху-вниз, Вылет справа-налево
  • 30 Easing эффектов появления картинки: easeInSine, easeOutSine, easeInOutSine, easeInQuad, easeOutQuad, easeInOutQuad, easeInCubic, easeOutCubic, easeInOutCubic, easeInQuart, easeOutQuart, easeInOutQuart, easeInQuint, easeOutQuint, easeInOutQuint, easeInExpo, easeOutExpo, easeInOutExpo, easeInCirc, easeOutCirc, easeInOutCirc, easeInBack, easeOutBack, easeInOutBack, easeInElastic, easeOutElastic, easeInOutElastic, easeInBounce, easeOutBounce, easeInOutBounce
  • Выбор эффектов в настройках плагина

Лицензия:
Предоставление в общий доступ - со ссылкой на страницу плагина https://s-computing.by/developments/plagin-effekt-spotlajt-spotlight-dlya-izobrazhenij-tovara

Скачать плагин
« Последнее редактирование: 25.10.2015, 16:01:27 от stabilcomp »
Z246562063970, R118130720449
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
могу показаться заангажированным, но все таки может делать какие то более серьёзные вещи ?
если уж Вы позицинируетесь в коммерческом разделе.
тем более за деньги...
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

stabilcomp

  • Осваиваюсь на форуме
  • 45
  • 11 / 0
С ценой, возможно, и загнул, а вот с серьезностью могу поспорить. Не все, кто владеет магазином на JS, может смело залезть в код PHP и стили CSS, что реализовать нечто подобное. Здесь же, нужно иметь доступ к админке и 3 минуты времени, чтобы создать красивый эффект спотлайт и повысить юзабилити магазина.
Z246562063970, R118130720449
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
Виджекит дает это в бесплатном варианте... и он в сотни раз покруче одного эффекта для картинки.

опять же.. я просто высказался.. что для коммерческого раздела это.... слабовато..
прошу обратить внимание это ИМХО. не более...
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

stabilcomp

  • Осваиваюсь на форуме
  • 45
  • 11 / 0
Для работы виджеткита требуется знание как минимум HTML, чтобы этот самый компонент заработал, это во-первых. Во-вторых, не забывайте об оптимизации страниц, виджекит имеет вес > 250кб, это только то, что грузится в браузер пользователя + километры PHP кода, которые, выполняются на стороне сервера.
В то же время мой плагин имеет вес 10кб и минимум серверных ресурсов.

P.S.: Я думаю, те кто заботится об оптимизации, заинтересуется.

---
Дополню, что в эффекте спотлайт в виджетките в сотни раз покруче?
« Последнее редактирование: 30.04.2014, 00:50:16 от stabilcomp »
Z246562063970, R118130720449
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Соглашусь с nevigen для стилизации есть 1000 бесплатных решений
К томуже простым пользователям до фени скока килограммов php грузит то или иное решение

На форуме есть сотни серьезных вопросов
А спрос рождает предложение..
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
ну на самом деле на каждый товар есть свой покупатель. думаю stabilcomp сам способен сделать выводы относительно спроса :) не будет спроса - значит будет реакция. зачем убеждать, что это не надо? а вдруг кому то надо? :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

nevigen

  • Moderator
  • 10451
  • 863 / 25
  • http://n*****n.com
никто не говорил что не надо ;)
это ведь тема обсуждения расширения ;)
каждый высказывает свое мнение о нем.

а stabilcomp является модератором своей темы и может удалить все по его мнению ненужное ;)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

stabilcomp

  • Осваиваюсь на форуме
  • 45
  • 11 / 0
Удалять сообщения не буду.
Готов сделать решение бесплатным, если кто-нибудь предоставит бесплатные аналоги ;) Которые могут выполнять такие же функции как данное решение без вмешательства в код сайта.

Пользователям может и пофиг,
К томуже простым пользователям до фени скока килограммов php грузит то или иное решение
, а вот администратору должно быть не все равно. А если все равно, значит - такой магазин :-X ...
Z246562063970, R118130720449
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вкладки (табы) в описании товара

Автор Sergio

Ответов: 254
Просмотров: 57046
Последний ответ 12.10.2023, 12:20:59
от dron
Где посмотреть варианты карточки товара

Автор itbc

Ответов: 6
Просмотров: 3035
Последний ответ 31.10.2022, 10:05:51
от nevigen
Плагин - Наложение маски на изображения объектов JoomShopping [Скачать]

Автор kit2m2

Ответов: 5
Просмотров: 4320
Последний ответ 20.09.2022, 11:51:02
от kit2m2
Основная картинка в карточке товара на весь экран

Автор Mister Shadow

Ответов: 1
Просмотров: 2610
Последний ответ 08.07.2022, 22:16:27
от nevigen
meta title на странице товара

Автор ecolora

Ответов: 5
Просмотров: 2759
Последний ответ 30.05.2022, 14:31:44
от kit2m2