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

lionsay

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Обновление VirtueMart 1.1.4
« : 20.02.2011, 20:05:11 »
Не нашел толковую инструкцию по теме. На сайте разработчика есть такой файл Patch Package (1.1.4->1.1.7) Что бы это могло быть?  ;D И что с ним делать?(для обновления)

Лично я думаю что это патч(обновление) до 1.1.7

А вообще, пожалуйста напишите подробную инструкцию по этой теме. Как нужно обновлять, из какой версии в какую нужно обновлять. Именно это я до сих пор не могу понять даже для Joomla.

Спасибо, за любой ответ!
« Последнее редактирование: 20.02.2011, 20:20:29 от lionsay »
*

lionsay

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Re: Обновление VirtueMart 1.1.4
« Ответ #1 : 20.02.2011, 20:21:24 »
Ну давайте парни помогите балбесу, это ж пустяк, в смысле Вам пустяк:)
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Re: Обновление VirtueMart 1.1.4
« Ответ #2 : 20.02.2011, 20:37:22 »
Ну давайте парни помогите балбесу, это ж пустяк, в смысле Вам пустяк:)
просто заменить http://virtuemart.net/downloads, на днях вышел патч который закрывает SQL Injection

http://virtuemart.net/security-bulletins/396-vm-security-bulletin-2011-02-18
http://docs.joomla.org/Vulnerable_Extensions_List#Virtuemart
« Последнее редактирование: 20.02.2011, 20:41:25 от Aspik »
Мои расширения - http://eco-joom.com/ru/
*

lionsay

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Re: Обновление VirtueMart 1.1.4
« Ответ #3 : 20.02.2011, 21:00:28 »
Спасибо ++ в принципе знал что так просто;) 

А что это за - SQL Injection? И что он закрывает? :)  Вы так написали как бы в тему, но я видишь не в теме
*

lionsay

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Re: Обновление VirtueMart 1.1.4
« Ответ #4 : 20.02.2011, 21:03:50 »
А понял, что я не понял:). Т.е. этот патч стал крутым и закрывает даже SQL Injection!:)
*

Aspik

  • Давно я тут
  • 542
  • 63 / 2
  • В личку не писать, не отвечу.
Re: Обновление VirtueMart 1.1.4
« Ответ #5 : 21.02.2011, 15:18:04 »
А понял, что я не понял:). Т.е. этот патч стал крутым и закрывает даже SQL Injection!:)
вообщем если стоит сайт с версией 1,7 и ниже, при до писание определенного запроса например в  браузере, можно взломать ваш сайт. Очень важный патч !!
Мои расширения - http://eco-joom.com/ru/

Re: Обновление VirtueMart 1.1.4
« Ответ #6 : 23.02.2011, 11:37:40 »
Товарищи подскажите несведущему - поставил на Joomla 1.5 - virtumart 1.4. Настройки  virtumart в админке работаю - там есть товары. Но при попытке открыть сайт - открывается страница Joomla - а не интернет магазина. Как заставить  virtumart - отображаться?
*

LifeAct

  • Захожу иногда
  • 65
  • 1 / 0
Re: Обновление VirtueMart 1.1.4
« Ответ #7 : 01.04.2011, 07:47:57 »
Товарищи подскажите несведущему - поставил на Joomla 1.5 - virtumart 1.4. Настройки  virtumart в админке работаю - там есть товары. Но при попытке открыть сайт - открывается страница Joomla - а не интернет магазина. Как заставить  virtumart - отображаться?

а какое отношение твой вопрос имеет к данному топику?

может это тебе нужно
http://www.google.com.ua/search?hl=ru&client=opera&hs=2QB&rls=ru&sa=X&ei=aUmVTc3RJc3Xsgbj5JTLCA&ved=0CBUQBSgA&q=%D0%BA%D0%B0%D0%BA+%D0%BD%D0%B0+%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%BE%D0%B9+%D0%BE%D1%82%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D0%B8%D1%82%D1%8C+virtuemart&spell=1
*

LifeAct

  • Захожу иногда
  • 65
  • 1 / 0
Re: Обновление VirtueMart 1.1.4
« Ответ #8 : 01.04.2011, 07:50:31 »
вот это  VirtueMart 1.1.8 is the latest stable version available. It is compatible with Joomla! 1.5.x only!
очень огорчает (
*

LifeAct

  • Захожу иногда
  • 65
  • 1 / 0
Re: Обновление VirtueMart 1.1.4
« Ответ #9 : 01.04.2011, 07:54:19 »
просто заменить http://virtuemart.net/downloads, на днях вышел патч который закрывает SQL Injection

http://virtuemart.net/security-bulletins/396-vm-security-bulletin-2011-02-18
http://docs.joomla.org/Vulnerable_Extensions_List#Virtuemart

скажи пж у меня в патче есть папка administrator\components\com_virtuemart\sql
он сам выполнит скрипты?

и еще вопросик, у меня хостер обновил PHP до новой версии, теперь и магазин и Joomla ругается на старые функции, в 1,1,8 подлатали функции?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Перенос с 1.5 на 3.5 + VirtueMart

Автор andrey488

Ответов: 4
Просмотров: 4014
Последний ответ 07.03.2017, 01:19:33
от SeBun
Проблема с установкой VirtueMart 1.1.4

Автор Tell

Ответов: 10
Просмотров: 8431
Последний ответ 02.01.2017, 17:28:01
от pomogu_chem_smogu
Проблемы с установкой VirtueMart

Автор inka

Ответов: 14
Просмотров: 9185
Последний ответ 03.09.2015, 01:44:49
от Amigos
mod VirtueMart latestprod способствовал появлению белого экрана

Автор smogrom

Ответов: 21
Просмотров: 4663
Последний ответ 15.01.2015, 11:50:23
от Schumaker
Русификация VirtueMart. Как ее сделать?

Автор Koriolan

Ответов: 52
Просмотров: 56482
Последний ответ 05.11.2014, 15:37:43
от Jiggy