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

skor1982

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Пропали модули с главной
« : 26.06.2012, 22:39:36 »
Всем доброго времени суток! Стоит Joomla 2.5.5 + VirtueMart + sh404SEF. После включения sh404SEF пропадают модули с главной на остальных страницах отображается, при отключении все работает. Причем если выставить значение показывать на всех страницах, модули будут показываться, а если показать только на отмеченных страницах, то нет. Пользовался поиском в Google, по форумам лазил, ответа не нашел. В sh404SEF урлы чистил, live site прописан. Помогите советом.
« Последнее редактирование: 26.06.2012, 23:10:17 от skor1982 »
*

Loasa

  • Захожу иногда
  • 206
  • 1 / 0
Re: Пропали модули с главной
« Ответ #1 : 03.07.2012, 19:44:08 »
Аналогично...
*

mazormedia

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Пропали модули с главной
« Ответ #2 : 06.07.2012, 18:54:15 »
Присоединяюсь к проблеме
*

benelli

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Пропали модули с главной
« Ответ #3 : 28.07.2012, 14:15:30 »
Проблему решили?
*

skor1982

  • Осваиваюсь на форуме
  • 23
  • 0 / 0
Re: Пропали модули с главной
« Ответ #4 : 11.08.2012, 13:06:33 »
нет, до сих пор вопрос актуален
*

hapkom

  • Новичок
  • 3
  • 6 / 0
Re: Пропали модули с главной
« Ответ #5 : 02.09.2012, 06:42:55 »
Должно помочь.
Заходите в Менеджер языков -> Языки контента. Нажимаете создать

Заголовок * :                              Russian
Заголовок на 'Родном' языке *:    Русский
Код языка для URL *:                  ru
Префикс изображения * :            ru
Тег языка *:                                ru-RU

Убедитесь, что язык опубликован.

Странно, но в ранних версиях это не нужно было делать =)
« Последнее редактирование: 02.09.2012, 06:46:08 от hapkom »
*

Alex_BET

  • Новичок
  • 3
  • 0 / 0
Re: Пропали модули с главной
« Ответ #6 : 08.09.2012, 03:59:06 »
Спасибо, наконец нашел решение
*

00022

  • Новичок
  • 8
  • 0 / 0
Re: Пропали модули с главной
« Ответ #7 : 15.09.2012, 21:33:43 »
помогите с модулями, что делать?
*

Zaicev

  • Захожу иногда
  • 120
  • 2 / 0
Re: Пропали модули с главной
« Ответ #8 : 28.09.2012, 14:03:11 »
hapkom, Большое спасибо за решение!
*

ustus

  • Осваиваюсь на форуме
  • 47
  • 0 / 0
Re: Пропали модули с главной
« Ответ #9 : 24.10.2012, 04:48:52 »
Должно помочь.
Заходите в Менеджер языков -> Языки контента. Нажимаете создать

Заголовок * :                              Russian
Заголовок на 'Родном' языке *:    Русский
Код языка для URL *:                  ru
Префикс изображения * :            ru
Тег языка *:                                ru-RU

Убедитесь, что язык опубликован.

Странно, но в ранних версиях это не нужно было делать =)
Спасибо
*

slikNET

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Пропали модули с главной
« Ответ #10 : 19.11.2012, 18:21:01 »
Цитировать
Заходите в Менеджер языков -> Языки контента. Нажимаете создать

Заголовок * :                              Russian
Заголовок на 'Родном' языке *:    Русский
Код языка для URL *:                  ru
Префикс изображения * :            ru
Тег языка *:                                ru-RU

Реально помогло, спасибо!
*

NRJFire

  • Осваиваюсь на форуме
  • 20
  • 4 / 0
Re: Пропали модули с главной
« Ответ #11 : 21.11.2012, 18:46:16 »
Спасибо огромное!) Помогло)) Два дня убил на это))
*

vitamin818

  • Осваиваюсь на форуме
  • 13
  • 2 / 0
Re: Пропали модули с главной
« Ответ #12 : 01.02.2013, 20:22:12 »
Спасибо! Помогло )))) Была проблема: к главной странице добавлялся код языка /ru/
*

Zolotaya Antilopa

  • Новичок
  • 3
  • 0 / 0
Re: Пропали модули с главной
« Ответ #13 : 04.03.2013, 21:42:17 »
Извините помогло и мне, виновата моя невнимательность. Неправильно заполнял: ru-Ru вместо ru-RU !
Пока не увидела это сообщение никак не могла решить эту проблему) Модули отображались только по ссылке сайт.ru/ru
Уже думала искать замену компоненту)
*

SergPro

  • Захожу иногда
  • 51
  • 0 / 0
Re: Пропали модули с главной
« Ответ #14 : 27.10.2013, 21:06:23 »
Извините помогло и мне, виновата моя невнимательность. Неправильно заполнял: ru-Ru вместо ru-RU !

Это жесть, надо же было пропустить это! 3 дня выноса мозга!  Автору решения долгих лет счастливой жизни!
*

intcorp

  • Захожу иногда
  • 456
  • 12 / 0
Re: Пропали модули с главной
« Ответ #15 : 18.12.2013, 18:19:12 »
del
« Последнее редактирование: 18.12.2013, 19:44:02 от intcorp »
*

Grikhno

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Re: Пропали модули с главной
« Ответ #16 : 17.06.2015, 17:36:02 »
Спасибо!
*

raevskin

  • Новичок
  • 3
  • 0 / 0
Re: Пропали модули с главной
« Ответ #17 : 06.10.2015, 19:29:44 »
Должно помочь.
Заходите в Менеджер языков -> Языки контента. Нажимаете создать

Заголовок * :                              Russian
Заголовок на 'Родном' языке *:    Русский
Код языка для URL *:                  ru
Префикс изображения * :            ru
Тег языка *:                                ru-RU

Убедитесь, что язык опубликован.

Странно, но в ранних версиях это не нужно было делать =)
СПАСИБО большое! 3 суток голову ломал. Гуглил и бестолку. Благо решил поискать по форуму. Еще раз спасибо большое!
Только у меня проблема изначально была такова:
Изначально, при включении чпу Joomla, мне отображало kidsart.info/k2-extra-field-groups/tvorchestvo, при том, что к2 я не пользовался все материалы, категории - средствами Joomla. Поставил sh404SEF -  и все супер! НО, когда я нажимаю кнопку главная - остается только меню, все модули исчезают, но если сделать ошибку 404, то страница ошибки не выскакивает а перенаправляет на главную страницу, в которой все модули есть.

Может кто знает как избавиться от kidsart.info/k2-extra-field-groups/tvorchestvo ? Я бы наверное не очень хотел использовать sef404, это было как альтернатива решению
« Последнее редактирование: 06.10.2015, 19:39:08 от raevskin »
*

patrol

  • Новичок
  • 1
  • 0 / 0
Re: Пропали модули с главной
« Ответ #18 : 03.12.2015, 17:38:31 »
Специально зарегился, чтобы поблагодарить hapkom! Спасибо спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пропали буквы Z

Автор Kadadzher

Ответов: 0
Просмотров: 3588
Последний ответ 22.11.2016, 12:01:41
от Kadadzher
itemid=0 у главной

Автор sega

Ответов: 9
Просмотров: 2433
Последний ответ 21.03.2015, 10:57:06
от HiddeN_Ra
K2+sh404sef отображение модулей на главной

Автор admix72

Ответов: 5
Просмотров: 1967
Последний ответ 16.03.2015, 15:30:50
от Ragivort
Дубль главной страницы

Автор petruchos911

Ответов: 1
Просмотров: 1987
Последний ответ 17.07.2014, 14:50:50
от swampdeer
С description на главной проблема, sh404 не помог... что делать?

Автор JIuC39

Ответов: 0
Просмотров: 1557
Последний ответ 23.07.2013, 04:28:47
от JIuC39