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

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Недавно вышла новая версия нового шаблона админ.панели Joomla - AdminPraise v0.9.2, которая заявлена как более удобная в плане юзабилити и уже получила первых поклонников.


Возможности: (перевод)
Полностью бесплатная (лицензия GPL);
Высокая скорость работы;
AdminPraise Lite превосходит другие шаблоны админ.панели Joomla! по скорости, размеру и производительности;
5 цветовых тем;
5 легко преконфигурируемых темы;
Лёгкое переназначение цветов;
Резиновая верстка;
Возможность вкл./выкл. боковой панели (sidebar);
Переключение боковой панели с левого края на правый или её отключение;
Быстрое добавление;
Возможность быстрого добавления объекта у любого core компонента;
История;
Быстрый возврат к недавно посещённым страницам;
Сохранение в памяти последней страницы;
Если сессия сбросилась, Вы будете перенаправлены на последнюю страницу, на которой сессия закончилась;

В комплекте идут модули для админ.панели:
AP Lite - этот модуль включает в себя все необходимые ссылки на shortcut иконки (иконки быстрого доступа);
Session Bar - анимационный индикатор, показывающий загрузку страницы;
My Editor - выпадающий модуль на AJAX, позволяющий быстро сменить WYSIWYG редактор.
User Activity Stream - прослеживать активность администраторов сайта в админ.панели.


На сайте разработчиков есть краткий видео курс, в котором рассказывается как правильно настраивать этот шаблон.

Страница AdminPraise lite на сайте разработчиков

Для скачивания шаблона и модулей к нему необходимо зарегистрироваться на сайте. Прилагаю к посту свежие сборки, выкачанные с сайта разработчиков:
tpl_aplite_j1.5_v0.9.2.zip - шаблон AdminPraise lite v0.9.2;
unzip_aplite_ext.zip - архив, содержащий в себе все модули для админ.шаблона (перед установкой небходимо предварительно распаковать содержимое архива)

[вложение удалено Администратором]
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Шаблон админ.панели AdminPraise lite
« Ответ #1 : 04.10.2009, 23:00:42 »
В менеджере материалов не добавили колонки для мета? я себе сделал хак но хотелось бы с возможностью правки
*

Polosat

  • Захожу иногда
  • 202
  • 7 / 0
  • Мечты - это то, из чего сделано будущее
Re: Шаблон админ.панели AdminPraise lite
« Ответ #2 : 10.12.2009, 00:21:08 »
у меня не отображается самая верхняя шапка с иконками, так и должно быть?

забыл поставить и включить модуль APLiteIcons  ::)
« Последнее редактирование: 10.12.2009, 00:28:10 от Polosat »

Re: Шаблон админ.панели AdminPraise lite
« Ответ #3 : 11.12.2009, 12:47:13 »
вопрос а перевод данного шаблона есть? Или все на заграничном языке?
*

powsjal

  • Осваиваюсь на форуме
  • 20
  • 1 / 0
  • Все проблемы решаемы
Re: Шаблон админ.панели AdminPraise lite
« Ответ #4 : 10.02.2010, 10:43:41 »
Да, с русским было бы интереснее, придется переводить
« Последнее редактирование: 10.02.2010, 10:47:42 от powsjal »
*

64j

  • Новичок
  • 3
  • 0 / 0
Re: Шаблон админ.панели AdminPraise lite
« Ответ #5 : 06.03.2010, 21:33:53 »
Установил, поюзал из всех позиций, надоело... переключил на родную тему админки и ППЦ...
Fatal error: Class 'AdminPraiseHelper' not found in /home/users1/t/tr21v/domains/tr21v.com/administrator/modules/mod_apmenu/dynamic/usermanager.php on line 10
опять копать....
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Шаблон админ.панели AdminPraise lite
« Ответ #6 : 06.03.2010, 21:39:44 »
Страшное чудовище на самом деле... А вот новый шаблон у них не чего

64j Вы удалил/отключили все модули которые ставили вместе шаблоном?
*

64j

  • Новичок
  • 3
  • 0 / 0
Re: Шаблон админ.панели AdminPraise lite
« Ответ #7 : 06.03.2010, 21:47:13 »
Alldar уже  да))) всё работает. Удаление только вручную.

Либо кто захочет вернуться на шаблон по умолчанию, сначала удалите все модули mod_ap...... из админцентра, а потом и возвращайтесь на родную тему...

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

Слетели URL и шаблон

Автор max888

Ответов: 2
Просмотров: 5791
Последний ответ 28.12.2020, 17:37:52
от draff
VirtueMart 1.9 шаблон письма

Автор m176

Ответов: 0
Просмотров: 3100
Последний ответ 23.10.2020, 12:38:35
от m176
шаблон IT Newsy - By IceTheme проблема со списком.

Автор wolf34

Ответов: 4
Просмотров: 6042
Последний ответ 30.05.2017, 11:52:27
от darkghost
Как изменить шаблон категории в Joomla 1.5?

Автор nagav

Ответов: 8
Просмотров: 5564
Последний ответ 24.10.2016, 22:09:01
от nagav
Не стал показываться шаблон

Автор rezchik

Ответов: 2
Просмотров: 4970
Последний ответ 14.08.2016, 22:12:50
от rezchik