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

pachamok

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Такая же ситуация, как тут
http://joomlaforum.ru/index.php/topic,200194.0.html
только работаю не в локальном режиме.

И пытаюсь изменить в параметрах К2 загрузку библиотек jQuery - кнопка в этом окошке не работает (кнопка "сохранить")! А вот кнопка "отмена" работает..


Что делать тогда..подскажите ?  !
« Последнее редактирование: 30.03.2012, 12:33:24 от SDKiller »
*

pachamok

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Подскажите..

30 центов тому, кто подскажет
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Если дадите доступ к сайту - могу посмотреть (не обещаю, что помогу).
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
*

pachamok

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Если дадите доступ к сайту - могу посмотреть (не обещаю, что помогу).

Напишу..вам чутка позже.. если же тут не дадут ответ.
*

pachamok

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Ребят.. ну что вы - никто не знает что ли? )
*

rewuxiin

  • Давно я тут
  • 544
  • 38 / 6
права на запись в папки  или файл конфигурации проверяйте
*

pachamok

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
права на запись в папки  или файл конфигурации проверяйте

Какой именно?
Подскажите точнее.. . дам 1 бакс..
*

pachamok

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
*

devul

  • Захожу иногда
  • 283
  • 21 / 1
  • если помог можете поставить +
жееесть... мож помог бы и бесплатно, но эти 30 центов.. какой то плевок в сторону вебмастеров...
Бложик про joomla, k2, joomshoppingdevul.ru
*

pachamok

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
жееесть... мож помог бы и бесплатно, но эти 30 центов.. какой то плевок в сторону вебмастеров...

Вообще-то 1 бакс уже..

А почему плевок!? Что за глупости...
Просто небольшая халява за знания..

А то все бесплатно помогают.. я решил помогающим сделать халявку..
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Проблема актуальна, помогите плз
*

klara7

  • Захожу иногда
  • 311
  • 4 / 1
На форуме уже писали что делать. Зайтите в компонент К2. Выберите вкладку "Параметры", там укажите откуда грузить jQuery (если сайт на локалхосте, то выбирайте "Загрузка локальная версия" и наоборот). Должно помочь ;)
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
На форуме уже писали что делать. Зайтите в компонент К2. Выберите вкладку "Параметры", там укажите откуда грузить jQuery (если сайт на локалхосте, то выбирайте "Загрузка локальная версия" и наоборот). Должно помочь ;)

Не помогает!
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Казалось бы УРА! Но во всех браузерах работает, а в хроме, кнопка "Закрыть" не работает

PS/ Не знаю может это как то поможет:
« Последнее редактирование: 26.03.2012, 20:37:52 от chernblx »
*

klara7

  • Захожу иногда
  • 311
  • 4 / 1
Еще такая ошибка может быть из-за отключенного в настройках mbstring. Если делаете на локалхосте, то нужно в файле php.ini раскомментировать строку extension=php_mbstring.dll. Если на самом сайте, пишете хостеру и просите чтобы включили.
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Еще такая ошибка может быть из-за отключенного в настройках mbstring. Если делаете на локалхосте, то нужно в файле php.ini раскомментировать строку extension=php_mbstring.dll. Если на самом сайте, пишете хостеру и просите чтобы включили.

Хорошо напишу хостеру, но проблема в чём то другом... делаю на хосте, удалил полностью всё, поставил с нуля Joomla 1.5 поставил K2.5.5 и ни в одном браузере не работает кнопка "Закрыть"... Делаю откат на свой сайт, тут только хром... где логика не пойму... Думал может какой то плагин конфликтует, а оказалось вообще на голой Joomla проблема везде...
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
*

klara7

  • Захожу иногда
  • 311
  • 4 / 1
Я конечно зуб не дам, но насколько помню K2.5.5 - это под Joomla 2.5. Попробуй установить более раннюю версию компонента к2.
*

staticlight

  • Moderator
  • 1086
  • 65 / 0
  • Staticlight
Я конечно зуб не дам, но насколько помню K2.5.5 - это под Joomla 2.5. Попробуй установить более раннюю версию компонента к2.

Под 1.5-2.5. Версия k2 2.5.5 какая-то глючная, кстати, если возможно, установите 2.5.4, с ней я проблем не наблюдаю.
Руководитель отдела сервисного обслуживания систем безопасности.
Устали от com_content - поставьте com_k2.
TRIPLE "F" POWER: Firefox+FireShot+Firebug. Chrome + Ctrl+Shift+I
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

k2 store не активны кнопки

Автор rwgusev

Ответов: 5
Просмотров: 1804
Последний ответ 22.01.2018, 15:03:28
от Andrey Spiridonov
K2 Store - не получается сохранить материал K2

Автор Parahot

Ответов: 1
Просмотров: 926
Последний ответ 28.09.2017, 15:59:16
от Parahot
Как убрать кнопки из добавления материала с лицевой части сайта?

Автор svyatgolden

Ответов: 1
Просмотров: 1203
Последний ответ 30.07.2017, 12:16:09
от NewUsers
Добавление материала через фронтенд, криво отображается и не работают нек. функции

Автор kaaaaaljan

Ответов: 1
Просмотров: 1102
Последний ответ 16.07.2017, 20:38:06
от vipiusss
Необходимы три кнопки во все материалы k2

Автор igor289

Ответов: 9
Просмотров: 1201
Последний ответ 18.04.2017, 17:17:14
от igor289