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

Vacheslav15

  • Новичок
  • 5
  • 0 / 0
Время от времени в интернет магазин на Joomla выдает такую ошибку -    Ошибка: Failed to retrieve the Currency.
Перестает работать конвертер валют. Цены выставлены в долларах, пишет сумму в долларах, но прибавляет значение в руб. В чем может быть проблема - иногда работает а иногда нет. (время от времени конвертер валют)
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Вы даже не написали какой магазин. Предположу, что этот магазин берет значения валют автоматически по какому-нибудь API и оно иногда ничего не отдает.
*

umbabaraumba

  • Живу я здесь
  • 2415
  • 153 / 1
  • если помог можете поставить +
Если конвертер валют берется с другого сайта, то если тот сайт не работает то и конвертер не будет работать
Errare humanum est
Ubuntu по-русски
Пишу не сложные модули и компоненты, не дорого но не срочно
*

Vacheslav15

  • Новичок
  • 5
  • 0 / 0
Joomla 1.5.26  и VirtueMart 1.1.9 stable.  
 сам модуль - Курсы Валют ЦБ РФ
« Последнее редактирование: 29.04.2015, 22:38:47 от Vacheslav15 »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
В таком случае выше вам все правильно сказали.
*

Vacheslav15

  • Новичок
  • 5
  • 0 / 0
 Я обновил файл convertCBRF.php, который использует модуль валют. Вроде работает норм. Но обнаружил еще одну проблему - заказ на сайте можно сделать только через браузеры Internet Explorer и Mozilla Firefox. В чем может быть проблема?
*

fsv

  • Живу я здесь
  • 2781
  • 411 / 2
В чем может быть проблема?
в отсутствии ссылки на сайт, с логином и паролем демо-покупателя (если на сайте есть регистрация)
Веб-разработка: заказ. Только новая разработка.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
Но обнаружил еще одну проблему - заказ на сайте можно сделать только через браузеры Internet Explorer и Mozilla Firefox. В чем может быть проблема?
в преобразовании кириллических символов
http://techholod.com
думаю что этот
« Последнее редактирование: 01.05.2015, 23:35:40 от flyingspook »
*

Vacheslav15

  • Новичок
  • 5
  • 0 / 0
flyingspook  да этот. А как исправить
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
у вас есть такое:
/images/stories/-1
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
у вас в Chrome еще ошибка:
Failed to load resource: the server responded with a status of 404 (Not Found)
http://techholod.com/2012-10-16-12-38-23/%D0%A0%D1%94%D0%A0%D1%95%D0%A1%D0%82%D0%A0%C2%B7%D0%A0%D1%91%D0%A0%D0%85%D0%A0%C2%B0.html Failed to load resource: the server responded with a status of 404 (Not Found)

абракадабра означает корзина.

Вы где то НЕ UTF без BOM сохранили и загрузили файл. Как мне кажется.
*

flyingspook

  • Живу я здесь
  • 3590
  • 247 / 9
flyingspook  да этот. А как исправить
уберите кириллицу в урлах и не будет таких проблем
*

Vacheslav15

  • Новичок
  • 5
  • 0 / 0
Убрал, отключив SEO в настройках сайт. Теперь не работают ЧПУ, но заказ работает. Можно ли конкретно эту ссылку переписать на латинице? Словосочетание "оформить заказ" в ссылке.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Joomla накешировала 200Mb в директорию cache/page при отключенном кешировании, что за ...?

Автор Marygold

Ответов: 12
Просмотров: 7123
Последний ответ 27.09.2023, 09:23:54
от XFQDesNik
Joomla и Amazon S3

Автор Ghost_370

Ответов: 14
Просмотров: 11974
Последний ответ 07.04.2019, 09:38:02
от powerful888
Соц.иконки добавить, Joomla 1.5.26

Автор nuon

Ответов: 1
Просмотров: 7465
Последний ответ 04.03.2018, 21:34:56
от nuon
Как сделать JSON-LD микроразметку для Joomla 1.5

Автор Amigo9876

Ответов: 1
Просмотров: 6842
Последний ответ 05.01.2018, 21:54:43
от krot
Joomla 1.5.26 и мета теги

Автор SLdieR11

Ответов: 3
Просмотров: 4238
Последний ответ 17.10.2017, 10:53:54
от SeBun