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

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Google адреса подтверждение
« : 21.01.2014, 12:09:12 »
Ребят, такая проблема, после изменения интерфейса Google адреса мой аккаунт предлагает подтвердить организации только по почте почему-то, варианта по телефону не предлагается. В аккаунте приличное кол-во организаций, и хотелость бы конечно по подтверждать по телефону. Завел другой аккаунт. То же самое.
Причем что интересно - если добавлен сайт и организация, у которой уже были старые записи в Google адреса, то в этом случае если нажать это моя организация - то предлагает подтвердить либо по почте либо по телефону, а если просто добавить новую организацию то только по почте.

Даже не знаю что делать. Обидно техподдержки по телефону у крупнейшей корпорации в мире в России похоже нет. Писал в техподдержку - тишина.
В другом аккаунте - то же самое.

Возможно я чтото не догоняю, но в старом интерфейсе все было нормально. Подскажите у кого такая же проблема и почему не дает подтвердить по телефону.
*

LyalyaChornaya

  • Захожу иногда
  • 236
  • 15 / 1
Re: Google адреса подтверждение
« Ответ #1 : 21.01.2014, 14:03:05 »
Тоже самое, правда по почте письмо пришло. Наверное, таким образом проверяют, существует ли такая организация. Как раз клиент вчера письмо принес с кодом. А по телефону как они проверят? решили видимо изменить правила, раньше да, звонили и спрашивали, а сейчас вот так.
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Google адреса подтверждение
« Ответ #2 : 21.01.2014, 16:46:50 »
у вас то же нет по телефону теперь?

Вот что ответила техподдержка (достучался со второго письма)

"Здравствуйте!


Благодарим Вас за обращение к нам.

Подтверждение по почте позволяет наиболее достоверно убедиться в реальности компании. Такой способ подтверждения может занять до 2-х недель, но он наиболее надежен.

После недавних изменений подтверждение по телефону может быть недоступно, если компания пытается создать новую запись с данными в Google Адресах. Это зависит от сведений, предоставленных компанией. В настоящее время подтверждение по телефону доступно только в случаях, когда достаточно высока вероятность того, что данные о компании верны. Таким образом, наши пользователи получают только такую информацию о компаниях, которая соответствует реальному положению вещей.
Если доступен только этот способ, то следует воспользоваться именно им. Если возникнут дополнительные вопросы, пожалуйста, свяжитесь со мной.

В ближайшие несколько дней Вам могут предложить принять участие в анонимном опросе об уровне оказанной помощи. Ваш отзыв поможет нам улучшить работу службы поддержки.


С уважением,

Команда Google Адресов"
*

LyalyaChornaya

  • Захожу иногда
  • 236
  • 15 / 1
Re: Google адреса подтверждение
« Ответ #3 : 21.01.2014, 17:02:00 »
Ну так и есть, правда реально не 2 недели, а побольше (праздники попали), ну принесли прямо в офис клиента, все, как положено.
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Google адреса подтверждение
« Ответ #4 : 18.02.2014, 23:28:50 »
Возвращаюсь к теме, проблема осталась в старом аккаунте, где несколько организаций, при добавлении новой организации предлагает подтвердить только по почте (раньше можно было по телефону). Заведение двух других аккаунтов проблему НЕ РЕШИЛО. В них также предлагает только по почте. Техподдержка отписывается какими то странными извинениями.

Подскажите у всех теперь можно подтверждать организацию только по почте или что-то не так делаю?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Google адреса подтверждение
« Ответ #5 : 18.02.2014, 23:31:16 »
Заведение двух других аккаунтов проблему НЕ РЕШИЛО.
А это зачем? Обманываем?
*

Ingener

  • Давно я тут
  • 547
  • 10 / 5
Re: Google адреса подтверждение
« Ответ #6 : 18.02.2014, 23:37:26 »
"Заведение двух других аккаунтов проблему НЕ РЕШИЛО."

при чем здесь обманываем? с целью проверки адекватности подтверждения. Является ли эта проблема одного аккаунта или общая. В нете инфы на эту тему обнаружено не было. Техподдержка также особо не помогла. Они ответили "нам жаль что вы не можете подтвердить по телефону". смешно прямо.

И потом кто-то запрещал заводить несколько аккаунтов?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дополнительное название домена в Google

Автор web1

Ответов: 1
Просмотров: 2050
Последний ответ 18.12.2023, 12:56:21
от SeBun
Нет позиций в Google Joomla 3

Автор Benderalfa

Ответов: 1
Просмотров: 2939
Последний ответ 20.09.2022, 20:53:56
от darkghost
Google не индексирует страницы через ajax ссылки

Автор illimited

Ответов: 0
Просмотров: 1363
Последний ответ 31.03.2022, 23:53:05
от illimited
meta-description не отображается в Google

Автор Игарь

Ответов: 39
Просмотров: 7200
Последний ответ 20.11.2021, 18:17:12
от Byzi
Google отображает не все URL

Автор Игарь

Ответов: 3
Просмотров: 1424
Последний ответ 18.08.2020, 06:14:22
от Cedars