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

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
Объясните, как это можно исправить? есть сайт с www, который является "главным". есть зеркало на него, только без www. у зеркала скорость загрузки страницы выше (смотрела по Page speed).
www - 54 (параметр - Используйте кэш браузера красный)
без www - 70 (параметр - Используйте кэш браузера желтый)

так почему скорость разная получается? разве это не один сайт? админка, сервер-то у них один
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Разная скорость с www и без. Почему?
« Ответ #1 : 29.07.2011, 13:38:40 »
покажите хоть сайт, есть конечно догадки, но зачем гадать.
*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
Re: Разная скорость с www и без. Почему?
« Ответ #2 : 29.07.2011, 14:33:09 »
сайт
« Последнее редактирование: 26.08.2011, 12:17:51 от Лена) »
*

_ib_

  • Давно я тут
  • 673
  • 100 / 8
Re: Разная скорость с www и без. Почему?
« Ответ #3 : 29.07.2011, 14:49:37 »
думаю:
1. DNS запросы, один или другой ДНС сервер медленноее другого.
2. сайт с ВВВ и без ВВВ индексировались в разное время, т.е. разная загруженность Вашего сервера могла быть. Или в зависимости от типа ПХП (модуль, fastcgi ...) были ли запущенны процессы ПХП обрабатывающие запросы к Вашему сайту.

зы: лучше сделать без ВВВ главным, а с сайта с ВВВ сделать 301 редирект. И не морочьте голову, эти 20 мс никакой роли не играют ни пользователям и не поисковикам.
« Последнее редактирование: 29.07.2011, 14:56:13 от _ib_ »
Легальные шаблоны и дёшево!  + скидки до 50% для шаблонов клуба Joomlart, RocketTheme, Yootheme и Gavick.

при интересе пишите в личку или на мыло: "p" точка "d" собака gmx.de
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Re: Разная скорость с www и без. Почему?
« Ответ #4 : 29.07.2011, 15:13:03 »
помоему одинаково там всё работает. в пределах погрешности измерений)
а page speed каждый раз разный результат показывает
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: Разная скорость с www и без. Почему?
« Ответ #5 : 29.07.2011, 16:37:15 »
посмотрел: 73 и 76 по спиду
а на глаз... так пока красота загрузиться... короче долго :)
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Лена)

  • Захожу иногда
  • 402
  • 28 / 0
Re: Разная скорость с www и без. Почему?
« Ответ #6 : 31.07.2011, 20:27:32 »
думаю:
1. DNS запросы, один или другой ДНС сервер медленноее другого.
2. сайт с ВВВ и без ВВВ индексировались в разное время, т.е. разная загруженность Вашего сервера могла быть. Или в зависимости от типа ПХП (модуль, fastcgi ...) были ли запущенны процессы ПХП обрабатывающие запросы к Вашему сайту.

зы: лучше сделать без ВВВ главным, а с сайта с ВВВ сделать 301 редирект. И не морочьте голову, эти 20 мс никакой роли не играют ни пользователям и не поисковикам.

Спасибо за помощь, я нашла сервис по проверке DNS параметров домена и провери ла, что у сайта, что грузился быстрее, кол-во ANSWER SECTION 6 и время запроса 26 мсек, а у второго с ввв, только 1 ANSWER SECTION и время запроса почти в 6 раз больше! надо на эту тему литературы почитать, но думаю ваш совет с редиректом преминить, потому что сейчас клей стоит с быстрого на медленный.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скорость загрузки страницы

Автор creative3d

Ответов: 6
Просмотров: 1305
Последний ответ 15.03.2020, 19:26:25
от creative3d
Заголовки статей без тегов <h1>, <h2>, <h3>! Почему?

Автор hoock

Ответов: 25
Просмотров: 6889
Последний ответ 08.02.2018, 23:14:06
от ChaosHead
Скорость отклика на 3.6.2 хуже чем на 3.6.0

Автор News_N

Ответов: 0
Просмотров: 796
Последний ответ 16.08.2016, 14:41:13
от News_N
Почему Google не берет snippet-ы с description?

Автор News_N

Ответов: 2
Просмотров: 1569
Последний ответ 19.07.2016, 21:31:32
от Intexchange
почему в результатах поиска Google ко всем старницам добавляется суффикс?

Автор oskokos

Ответов: 1
Просмотров: 1255
Последний ответ 03.07.2016, 17:03:40
от ELLE