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

Aalexandrion

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
JCE и исходный код страниц
« : 05.01.2012, 21:39:25 »
Привет всем!

В общем столкнулся с такой проблемой. Сайт на Joomla 1.6.3. Стоит редактор JCE 2.0.18. Создаю страничку.

1. Если писать все в JCE и ничего не менять, то есть не трогать стиль текста, тогда все нормально, код страниц остается чистым.

2. Если копировать текст из Wordа, или с форума, и так далее, либо просто выбрать любой вид шрифта, или поменять размер текста, или цвет, в общем любое вмешательство в текст, тогда в исходный код страницы добавляются десятки span, что не очень красиво для кода страницы. Что-то в этом роде:
Код
<p style="text-align: justify;">&nbsp;</p>
<div class="b-welcome-text"><span style="font-family: times new roman,times;"><strong>Яндекс.Вебмастер</strong> — это сервис, предоставляющий информацию о том, как индексируются ваши сайты. Он позволяет сообщить Яндексу о новых и удаленных страницах, настроить индексирование сайта и улучшить представление сайта в результатах поиска.</span></div>
<div class="b-welcome-text"><span style="font-family: times new roman,times;">&nbsp;</span></div>
<div class="b-welcome-text">
<div class="b-features">
<h3 class="title"><span style="font-family: times new roman,times;">Добавьте сайт и узнайте:</span></h3>
<ul class="b-vlist b-vlist_type_mdash list">
<li class="item"><span style="font-family: times new roman,times;">какие проблемы возникли при индексировании</span></li>
<li class="item"><span style="font-family: times new roman,times;">какие страницы попали в поисковый индекс</span></li>
<li class="item"><span style="font-family: times new roman,times;">кто ссылается на страницы вашего сайта</span></li>
<li class="item"><span style="font-family: times new roman,times;">по каким запросам пользователи приходят на сайт</span></li>
<li class="item"><span style="font-family: times new roman,times;">как защитить сайт от вирусов</span></li>
<li class="item"><span style="font-family: times new roman,times;">как улучшить вид сайта в результатах поиска</span></li>


С Тайни МСЕ все нормально.
Как решить этот вопрос?
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: JCE и исходный код страниц
« Ответ #1 : 05.01.2012, 22:16:20 »
Администрирование JCE :: профили в нужном вам профиле  смотрите параметры отмечаются галочками уберите не нужные
*

Aalexandrion

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: JCE и исходный код страниц
« Ответ #2 : 05.01.2012, 22:51:45 »
Цитировать
Администрирование JCE :: профили в нужном вам профиле  смотрите параметры отмечаются галочками уберите не нужные

нашел, снял галочки, жму сохранить, но они опять появляются.

Там же поковырял, нашел возможность избавится от span. Но это не решает проблему, так как даже если спэн исчезает, остается style="text-align: center; и тому подобное, причем в начале и в конце каждого абзаца...
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: JCE и исходный код страниц
« Ответ #3 : 05.01.2012, 23:48:26 »
У меня текст в <div>
А ты попробуй снести полностью и установи 2.0.19
*

beliyadm

  • Легенда
  • 9758
  • 1665 / 66
  • Севастополь, Россия
Re: JCE и исходный код страниц
« Ответ #4 : 05.01.2012, 23:49:14 »
у JCE есть вроде штатная опция очистки текста или вставка из WORD - как то так называется
Все истины, которые я хочу вам изложить, — бесстыдная ложь. Сделать всё хорошо
TLG: @Beliyadm
*

Aalexandrion

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: JCE и исходный код страниц
« Ответ #5 : 06.01.2012, 00:53:25 »
Обновился до 2.0.19, и запретил в Профиле/Параметры плагина/Вставить абсолютно все кроме размера, стиля текста. Помогло, сейчас все нормально при Копи/пасте. Если же в самом редакторе менять фонт текста, тогда все спаны появляются обратно. Я ничего против тега спан не имею, но не понимаю почему он появляется при каждом нажатии на Ентер?

Но, спасибо всем за помощь, основная задача решена.
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: JCE и исходный код страниц
« Ответ #6 : 06.01.2012, 01:03:45 »
Так всегда было стиль в редакторе прописывался в теге <span> но он обрамлен <div>
*

AdWeb

  • Давно я тут
  • 877
  • 31 / 3
Re: JCE и исходный код страниц
« Ответ #7 : 08.02.2012, 17:26:56 »
возник след вопрос: при попытке вставки JS (кнопка вернуться назад) в материал код удаляется, хотя в настройках профиля JCE разрешил вставку JS и в нагрузку еще разрешил PHP эффекта ноль
жумла 173 качал с данного портала, вместо стандартного TinyМСЕ интегрирован JCE

- что надо сделать чтоб скрипт нормально вставлялся?
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

HiopsNerevar

  • Давно я тут
  • 630
  • 88 / 0
  • Я удобный.
Re: JCE и исходный код страниц
« Ответ #8 : 08.02.2012, 17:37:28 »
Отключить фильтры в настройках материалов.
Это бидаль пича.
*

AdWeb

  • Давно я тут
  • 877
  • 31 / 3
Re: JCE и исходный код страниц
« Ответ #9 : 08.02.2012, 20:12:15 »
нифига не понял как оно работает, ставлю белый список - в фильтр тегов вписываю javascript = режет

зы. полностью просто не охота отключать фильтрацию....
« Последнее редактирование: 08.02.2012, 20:18:44 от AdWeb »
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

HiopsNerevar

  • Давно я тут
  • 630
  • 88 / 0
  • Я удобный.
Re: JCE и исходный код страниц
« Ответ #10 : 08.02.2012, 20:25:19 »
В белом списке вроде как-раз таки нету ява. Дык а вы один суперадмин на сайте? Если да то ставьте без фильтра не опасаясь.
Это бидаль пича.
*

AdWeb

  • Давно я тут
  • 877
  • 31 / 3
Re: JCE и исходный код страниц
« Ответ #11 : 08.02.2012, 20:27:13 »
просто в будущем планирую расширить список авторов\редакторов....а тут уже не хотелось бы давать полную свободу :)
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

HiopsNerevar

  • Давно я тут
  • 630
  • 88 / 0
  • Я удобный.
Re: JCE и исходный код страниц
« Ответ #12 : 08.02.2012, 20:30:04 »
Ну в новых версиях Joomla можно довольно гибко настраивать права пользователей. В любом случае там же в фильтрах моно состряпать свой черный или белый список.
Это бидаль пича.
*

AdWeb

  • Давно я тут
  • 877
  • 31 / 3
Re: JCE и исходный код страниц
« Ответ #13 : 08.02.2012, 21:15:51 »
я новую версию еще не смотрел, пока решаю проблемы с навигацией\материалами на 173
| Хороший Хостинг | Купить Хикашоп | Каталог перекладів Joomla компонентів
PS. спасибо кидать через вебмани: R152456839841 если плюсикофф не хватает :)
*

HiopsNerevar

  • Давно я тут
  • 630
  • 88 / 0
  • Я удобный.
Re: JCE и исходный код страниц
« Ответ #14 : 08.02.2012, 21:23:02 »
Ну я про 173 и говорю. Там аналогичная система.
Это бидаль пича.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не открывается исходный код в JCE

Автор katapulta

Ответов: 0
Просмотров: 990
Последний ответ 06.11.2016, 10:54:08
от katapulta