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

prosto_yasno

  • Захожу иногда
  • 78
  • 0 / 2
При попытке удалить пустой абзац, весь текст подвергается форматированию, особенно это видно когда текст подчеркнутый, т.е. удаляешь пустой <p> и весь этот подчеркнутый текст, который есть в материале, становится обычным, не только подчеркнутый, но и цвет меняется, шрифт и все в этом духе. Я не знаю почему это просходит, в коде видно, что тег span, который и отвечает за стили так сказать, просто удаляется в этом время. Единственно чтобы он не удалялся приходится делать shift+enter т.е. делать br, тогда все норм и также с шифтом удалять абзацы, но это мучение.

ВОТ ЧТО ПРОИСХОДИТ, СМОТРИМ НА ПОДЧЕРКИВАНИЕ



Удалил абзац и подчеркивание снялось :




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

Первое, это то что удаление стиля не зависит от хостера, т.к. пробовал на локалке.

Второе...

При выборе стиля в редакторе (подчеркивание, цвет и т.д.) - этот стить ставится через span :





И при удалении нескольких <p> (ниже этого текста) как писал выше, эти span удаляются, т.е. подчеркивание снимается.

Однако есть еще одна фишка, с помощью которой можно поставить стиль :



С помощью нее стили ставятся через CSS самого абзаца <p> :



И уже при удалении этих самых <p> стиль не снимается.

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

Кстати, если поставить галочку в окне (выше) в "Добавить стиль тегом span", стиль кода будет отображаться и в <p> и в <span> т.е. будет дублирование стиля.

Я искал в настройках профиля, как сделать чтобы CSS стиль добавлялся через CSS, а не с тегом span, ничего не нашел...
« Последнее редактирование: 26.12.2012, 23:00:16 от prosto_yasno »
*

prosto_yasno

  • Захожу иногда
  • 78
  • 0 / 2
Переустанавливал огромное кол-во раз(((
*

prosto_yasno

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

prosto_yasno

  • Захожу иногда
  • 78
  • 0 / 2
никто не поможет?
*

prosto_yasno

  • Захожу иногда
  • 78
  • 0 / 2
JCE удаляет все стили, которые ставятся через span, если я удалил абзац какой-либо, то и span вместе со стилями удалится!
*

prosto_yasno

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

prosto_yasno

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

SK

  • Живу я здесь
  • 2155
  • 164 / 0
upppp
А чего апать?
Ну есть такая особенность у визуального редактора JCE.
У меня тоже такое происходит. Пусть это и недостаток его, зато есть другие достоинства.
Если Вам это так критично, то попробуйте сменить редактор.
*

prosto_yasno

  • Захожу иногда
  • 78
  • 0 / 2
А чего апать?
Ну есть такая особенность у визуального редактора JCE.
У меня тоже такое происходит. Пусть это и недостаток его, зато есть другие достоинства.
Если Вам это так критично, то попробуйте сменить редактор.

Да? И что вы с этим живете? Как вы тогда редактируете текст мне интересно? Это не особенность это баг, а меня же раньше не было такого. Я по всему инету искал, FAQ на офф сайте проштудировал, а мб если бы и вы отписали где-нить мб вам бы и помогли
*

Rex_One

  • Захожу иногда
  • 453
  • 37 / 0
Тоже живу с подобным. Если найдется решение будет очень хорошо.
Кривизна рук не компенсирует прямизну извилин.
*

prosto_yasno

  • Захожу иногда
  • 78
  • 0 / 2
Да ну ребята сколько вас), я думал я один такой.

Хотел на офф сайте написать но там только для подписчиков (платно)
*

prosto_yasno

  • Захожу иногда
  • 78
  • 0 / 2
наверх, ищем решение проблемы
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Размер шрифта по-умолчанию в JCE 2341

Автор ruppert

Ответов: 3
Просмотров: 6663
Последний ответ 05.09.2023, 18:12:38
от saks1959
Как добавить новый шрифт в JCE?

Автор maximm

Ответов: 6
Просмотров: 4600
Последний ответ 29.07.2020, 20:13:07
от AlexB
Разрешённые расширения файлов и максимальный размер файла

Автор Maffo

Ответов: 0
Просмотров: 1231
Последний ответ 26.12.2019, 10:15:20
от Maffo
Как увеличить размер шрифта на закладке Code в JCE?

Автор algor

Ответов: 2
Просмотров: 1360
Последний ответ 24.05.2017, 23:40:42
от dmitry_stas
В JCE нету строки для форматирования текста (размер шрифта) и формат

Автор ezraa

Ответов: 0
Просмотров: 1734
Последний ответ 17.01.2017, 13:15:22
от ezraa