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

yagami

  • Новичок
  • 9
  • 0 / 0
Установил 1.5.23. Редактор работает только в html-режиме, насколько я понимаю. Ни переключение на расширенный режим, ни отключение плагина no editor, ни проверка в других браузерах, ни скачивание jce-редактора не помогли.

TineMce:

Спойлер
[свернуть]

JCE:

Спойлер
[свернуть]

Буду безмерно благодарен помощи.
« Последнее редактирование: 10.01.2013, 22:19:15 от yagami »
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Поставьте для начала 1.5.26 - это актуальная версия движка линейки 1.5
Если не заработает редактор на 1.5.26, тогда и будем разбираться.
И проверьте работу в другом броузере, в ИЕ или в Мозилле.
В Opera не всегда админка движка правильно работает.
« Последнее редактирование: 09.01.2013, 21:35:12 от SK »
*

yagami

  • Новичок
  • 9
  • 0 / 0
Поставьте для начала 1.5.26 - это актуальная версия движка линейки 1.5
Если не заработает редактор на 1.5.26, тогда и будем разбираться.
И проверьте работу в другом броузере, в ИЕ или в Мозилле.
В Opera не всегда админка движка правильно работает.

Проверял в Chrome, мозиле, ие - нет изменений.

Сейчас установлю 1.5.26 и отпишусь.

Кстати, не подскажете, в связи с чем скорость через ftp так мала? Качаю через тотал коммандер, и если скорость на уровне 5 КБ/s, то это, прям, за счастье. Пробовал качать через smart ftp client - скорость не выше.
« Последнее редактирование: 09.01.2013, 21:46:36 от yagami »
*

yagami

  • Новичок
  • 9
  • 0 / 0
Установил 1.5.26 - проблема никуда не делась.

Стало только хуже. Вместо стандартных шаблонов какие-то огрызки отображаются:

Спойлер
[свернуть]

Куда рыть, ребята?
« Последнее редактирование: 10.01.2013, 22:18:49 от yagami »
*

yagami

  • Новичок
  • 9
  • 0 / 0
Ау-у-у-у!
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Установил 1.5.26 - проблема никуда не делась.

Стало только хуже. Вместо стандартных шаблонов какие-то огрызки отображаются:

Куда рыть, ребята?
А при чем тут эта картинка и та, которую выше показывали?
Это совершенно разные вещи.
Вы уж определитесь, что Вас больше волнует - неправильная работа визуального редактора или то, что Вы забыли при установки движка демо-данные поставить или не знаете, как шаблон сменить.
*

hooten

  • Захожу иногда
  • 443
  • 26 / 0
Установить редактор, выбрать его в настроках (Tiny MCE можно выбрать сразу)
*

yagami

  • Новичок
  • 9
  • 0 / 0
А при чем тут эта картинка и та, которую выше показывали?
Это совершенно разные вещи.
Вы уж определитесь, что Вас больше волнует - неправильная работа визуального редактора или то, что Вы забыли при установки движка демо-данные поставить или не знаете, как шаблон сменить.

На кнопку установить демо-данные я нажимал, ок? Сменить шаблон умею. Визуальные редакторы по-прежнему отображаются только в режиме html-редактирования без паниели инструментов. Интересует именно эта проблема.
*

yagami

  • Новичок
  • 9
  • 0 / 0
Установить редактор, выбрать его в настроках (Tiny MCE можно выбрать сразу)

Выбирал его по умолчанию, выбирал режим расширенные, устанавливал основным для администратора - ничего не помогает ни для tine mce, ни для других редакторов.
*

yagami

  • Новичок
  • 9
  • 0 / 0
Кстати, проблема характеризуется ещё и тем, что материал невозможно сохранить.
*

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Сайт с нуля делаете? Если так, то зачем версию 1.5 ставите?
Это устаревшая версия и больше не поддерживается.
Поставьте версию 2.5.8
И используйте броузеры ИЕ или Мозиллу.
*

yagami

  • Новичок
  • 9
  • 0 / 0
Сайт с нуля делаете? Если так, то зачем версию 1.5 ставите?
Это устаревшая версия и больше не поддерживается.
Поставьте версию 2.5.8
И используйте броузеры ИЕ или Мозиллу.

Устанавливал 2.5.6 и 2.5.8 - обе версии не идут дальше выбора языка во время установки. Пробовал в разных браузерах. В ИЕ после выбора языка и нажатия на кноку далее в левом нижнем углу всплывает сообщение "Ошибка на странице". Вот html-код страницы:

Спойлер
[свернуть]


Может, дело в хостере. Тогда уточню, что хостинг на sweb.ru, установочные файлы Joomla в директории public_html. Кроме папки public_html есть ещё два файла: .authfile и .bash_history.
« Последнее редактирование: 14.01.2013, 15:56:05 от yagami »
*

Hufflepuff

  • Захожу иногда
  • 124
  • 0 / 0
Привет, не стану создавать новый топ так как вопрос у меня тоже по редактору JCE. Когда редактирую текст между строчками слишком большое ратояние получается когда нажимаю ентер. Приходится писать <br> после каждой строчки эточень утомительно. Подскжите какой то может стиль или формат использовать нужно, я сам не разобрался.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Набор в команду(Работа онлайн)

Автор Weneris

Ответов: 0
Просмотров: 1290
Последний ответ 02.02.2021, 20:01:41
от Weneris
Работа компонента Ninja RSS 1.1.11 на Joomla 1.5.26

Автор Adam.K

Ответов: 1
Просмотров: 1717
Последний ответ 16.12.2013, 21:26:31
от Adam.K
Выгрузка с денвера на сайт и работа с БД. Дамп МайСКЛ

Автор Creemzey

Ответов: 1
Просмотров: 1689
Последний ответ 06.12.2012, 02:23:22
от Dorfman
Ищу решение: Удобная работа в админке (изображение + подпись) на базе zoo + zbzoo или другая CCK?

Автор pospelovmax

Ответов: 4
Просмотров: 1650
Последний ответ 21.10.2012, 23:46:14
от MetaSpirit
Некорректная работа авторизации

Автор METTER

Ответов: 25
Просмотров: 4588
Последний ответ 05.08.2012, 03:24:51
от n1951