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

smls

  • Захожу иногда
  • 137
  • 8 / 1
Если при использовании последних версий Оперы или ФФ, вставлять текст напрямую из Wordа, то вставляются и офисные теги. На выходе получается полная фигня, вплоть до того, что кодировка страницы меняется.
Как сделать так, чтоб текст копировался в поле редактирования без Wordовского форматирования? ...но при этом, чтоб при вставке HTML кода, незнакомые редактору теги не терялись?
(я то понятно и через блокнот могу вставить, но нужно чтоб и у юзеров всё нормально вставлялось).
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
там есть такая кнопка вставка из Word. Там еще значок Wordа нарисован.. Вот через него пусть и вставляют. Специально фильтр был создан.
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

smls

  • Захожу иногда
  • 137
  • 8 / 1
Ну каждому юзеру ведь не будешь про кнопку рассказывать (да все равно он про неё забудет), нужно чтоб пользователь просто зашел и добавил текст без премудростей.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Для администрирования сайта, как и для вождения автомобиля, необходим хотя бы минимальный набор навыков и знаний. Нельзя сесть в машину и ничего не делая поехать. Так же и тут.
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
а если их не предупреждать о том что нельзя вилкой в глаз тыкать они тоже забудут и нечаЯнно тыкнут.
ПАру раз вставят неправильно и научаться. ЭТо такая же инструкция как и к любой другой ПО.
Ну можно, конечно переписать JCE чтобы он всегда применял фильтр.
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

smls

  • Захожу иногда
  • 137
  • 8 / 1
Цитировать
Для администрирования сайта, как и для вождения автомобиля, необходим хотя бы минимальный набор навыков и знаний.
Юзер - это обычный пользователь, он пришел чтоб добавить объявление на сайт, как у него наличие знаний проверять?
Цитировать
ПАру раз вставят неправильно и научаться.
Большинство из них приходят, чтоб вставить только один раз ...а мне потом код чистить приходится.
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
НУ тогда написать БОЛЬШИМИ БУКВАМИ что тот кто вставил из word текст ТОТ ЛОХ!
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

smls

  • Захожу иногда
  • 137
  • 8 / 1
Через кнопку, кстати тоже много лишнего вставляется:
Код
<link href="file:///C:%5CDOCUME%7E1%5CADMIN%7E1.MIC%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_filelist.xml" rel="File-List">
<link href="file:///C:%5CDOCUME%7E1%5CADMIN%7E1.MIC%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_themedata.thmx" rel="themeData">
<link href="file:///C:%5CDOCUME%7E1%5CADMIN%7E1.MIC%5CLOCALS%7E1%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_colorschememapping.xml" rel="colorSchemeMapping">
<!--[if gte mso 9]><xml>
Normal
0
false
false
false
RU
X-NONE
X-NONE
</xml><![endif]--><!--[if gte mso 9]><xml>
</xml><![endif]--><style>
</style><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Обычная таблица";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
</style>
<![endif]-->
*

SinBad

  • Завсегдатай
  • 1879
  • 187 / 0
  • Мнне 40 лет, мне 40 лет, ума так и не нажил!
Через кнопку, кстати тоже много лишнего вставляется
согласен. фильтр не всегда граммотно убирает текст. приходится все таки через блокнот пропускать или HTML редактор
...Фет для них песни поёт. Фет не прикольный поэт - Фету никто не даёт.
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Я пользуюсь этим:http://www.qme.ru/
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Надо бы плагин кому-нибудь сесть написать. наверняка имеются готовые мсофис-фильтры на php. И предустанавливать его на cms. И инет станет чуточку чище. А так, только хуже будет. К инету приобщается все больше до...неразбирающихся людей, вот и думайте...
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

x1

  • Давно я тут
  • 635
  • 15 / 0
  • Linux — это Windows для бытовой техники
Цитировать
К инету приобщается все больше до...неразбирающихся людей
Браво! Цитата 2010 года!

А.Грибоедов «Собрать бы книги все, да сжечь!»
*

Наташа

  • Захожу иногда
  • 170
  • 0 / 1
Недостаёт элементов после установки.
Установила на новом сайте Editor - JCE 1.5.7.4, но не нашла кнопки «вставить из Wordа». Имеются: вставка неформатированного текста и paste.paste_desc (что это такое?). На другом сайте такая кнопка была, загружала также.
PLUGINREMOVEDLANGMISSING - Caption
PLUGINREMOVEDLANGMISSING - Filemanager
PLUGINREMOVEDLANGMISSING – Templatemanager
Хотя в плагинах собственной панели значатся -
1      Caption   1.5.3   04 June 2009   Ryan Demmer
2      File Manager   1.5.2   15 February 2009   Ryan Demmer
3      Image Manager Extended   1.5.5   19 May 2009   Ryan Demmer
4      Media Manager   1.5.4   17 February 2009   Ryan Demmer
5      Template Manager   1.5.5
 Подскажите, пожалуйста, что не доделала?
*

klara7

  • Захожу иногда
  • 311
  • 4 / 1
там есть такая кнопка вставка из Word. Там еще значок Wordа нарисован.. Вот через него пусть и вставляют. Специально фильтр был создан.
sinbad13, подскажи, пожалуйста. Почему-то при нажатии на эту кнопку (Paste) не открывается окно для вставки, а текст просто вставляется в поле редактора с ненужными пустыми строками, каждая строчка - новый параграф. Плагин Paste опубликован. Как избавиться от этих лишних прогалов 
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не вставляется текст

Автор Wak

Ответов: 11
Просмотров: 3713
Последний ответ 10.01.2021, 18:04:02
от Wak
JCE Текст накладывается друг на друга при переносе

Автор BARD

Ответов: 3
Просмотров: 2092
Последний ответ 04.07.2017, 11:50:18
от vipiusss
JCE редактор и вводный текст

Автор dariusii

Ответов: 2
Просмотров: 1643
Последний ответ 04.04.2016, 15:25:38
от dariusii
Несколько тегов body на странице

Автор Shichkin

Ответов: 2
Просмотров: 4427
Последний ответ 04.08.2013, 21:44:50
от Shichkin
JCE обрамляет текст тэгами

Автор DiPauler

Ответов: 2
Просмотров: 2335
Последний ответ 20.03.2013, 22:40:54
от DiPauler