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

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Иконки для гл меню
« : 25.06.2009, 00:46:54 »
Вроде был уже такой вопрос и был ответ, что это настраивается через модуль. Это все так, картинка появляется напротив нужного пункта меню, но вместе с тем остается "старое форматирование" в виде точек (типа список пунктов). Как убрать эти точки из пунктов, чтобы были только картинки? (см приложение)

[вложение удалено Администратором]
*

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Иконки для гл меню
« Ответ #1 : 25.06.2009, 08:46:43 »
Неужели никто не знает? Не верю  ;D
*

AL_ALEX

  • Глобальный модератор
  • 855
  • 112 / 1
Re: Иконки для гл меню
« Ответ #2 : 25.06.2009, 08:49:29 »
нужно убрать в css шаблона, если есть ссылка на сайт могу посмотреть
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Re: Иконки для гл меню
« Ответ #3 : 25.06.2009, 09:07:20 »
1 поставить (ели не ошибайюс) вместо списка плоский список в модуле.
2 В css шаблона их можно убрать
*

@lex

  • Захожу иногда
  • 113
  • 2 / 0
Re: Иконки для гл меню
« Ответ #4 : 25.06.2009, 09:13:34 »
Вроде был уже такой вопрос и был ответ, что это настраивается через модуль. Это все так, картинка появляется напротив нужного пункта меню, но вместе с тем остается "старое форматирование" в виде точек (типа список пунктов). Как убрать эти точки из пунктов, чтобы были только картинки? (см приложение)
А поскажите как это сделать как паставить каждому разделу свою иконку и каким форматом она должна я заходил через админ панель матерьалы менеджер разделов там ствали иконки не отобржаются на сайте че деалть может надо через пункт все меню и там раться кто знает
*

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Иконки для гл меню
« Ответ #5 : 25.06.2009, 09:49:22 »
Задаешь иконку для нужного пункта через меню. Потом проверяешь в параметрах модуля этого меню чтобы было "Показывать иконки".

Цитировать
1 поставить (ели не ошибайюс) вместо списка плоский список в модуле.

Плоский списко уже есть

Вот ссылка http://school.mukhen.ru/
*

AL_ALEX

  • Глобальный модератор
  • 855
  • 112 / 1
Re: Иконки для гл меню
« Ответ #6 : 25.06.2009, 09:57:01 »
Код
template.css (line 834)
.BlockContent-body ul li {
background-image:url(../images/BlockContentBullets.png);
background-repeat:no-repeat;
line-height:1.2em;
margin:0.5em 0;
padding:0 0 0 13px;

вот это в css шаблона убери
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Re: Иконки для гл меню
« Ответ #7 : 25.06.2009, 09:59:14 »
Код
.latestnews li {
margin-top:3px; padding: 0;
margin-left: 0; list-style:none; }




Должно сработать! Если стоит плоский список!
« Последнее редактирование: 25.06.2009, 10:08:51 от orchanin »
*

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Иконки для гл меню
« Ответ #8 : 25.06.2009, 10:20:28 »
Хотелось бы конечно как orchanin предложил, чтобы не трогать форматирование других модулей, но в файле template.css нет таких строк #mainlevel и .module_menu ul li. За вырезку 834 строки спасибо - работает. А можно поделикатней обойтись, чтобы это касалось только модуля меню?
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Re: Иконки для гл меню
« Ответ #9 : 25.06.2009, 10:23:34 »
Посмотри я поправил свое сообщение ! Просто кинул как у меня в стандартном модуле у тебя классы другие ! Попробую если не получится попробуем по другому !
*

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Иконки для гл меню
« Ответ #10 : 25.06.2009, 10:24:48 »
Вот стиль

[вложение удалено Администратором]
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Re: Иконки для гл меню
« Ответ #11 : 25.06.2009, 10:50:20 »
попробуй

[вложение удалено Администратором]
*

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Иконки для гл меню
« Ответ #12 : 25.06.2009, 11:16:37 »
Не. Тут похоже надо отдельно для модуля в позиции right делать свой класс. Вообщем дайте совет последний.
*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Re: Иконки для гл меню
« Ответ #13 : 25.06.2009, 11:27:04 »
раз уж пошлазатея нужно решить!

попробуй этот

[вложение удалено Администратором]
*

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Иконки для гл меню
« Ответ #14 : 25.06.2009, 12:16:36 »
Тоже без изменений
*

AL_ALEX

  • Глобальный модератор
  • 855
  • 112 / 1
Re: Иконки для гл меню
« Ответ #15 : 25.06.2009, 12:43:29 »
я тебе писал код, просто убери из него
Код

background-image:url(../images/BlockContentBullets.png);
padding:0 0 0 13px;


*

orchanin

  • Захожу иногда
  • 172
  • 3 / 0
Re: Иконки для гл меню
« Ответ #16 : 25.06.2009, 14:29:45 »
я тебе писал код, просто убери из него
Код

background-image:url(../images/BlockContentBullets.png);
padding:0 0 0 13px;



Не говори а я чета туплю тут по полной ! :)
*

AL_ALEX

  • Глобальный модератор
  • 855
  • 112 / 1
Re: Иконки для гл меню
« Ответ #17 : 25.06.2009, 14:36:23 »
Так получилось что хотел?
*

green45

  • Осваиваюсь на форуме
  • 46
  • 0 / 0
Re: Иконки для гл меню
« Ответ #18 : 25.06.2009, 15:07:29 »
.BlockContent-body ul li
{
   background-repeat:no-repeat;

   margin:0.5em 0 0.5em 0;

   line-height:1.2em;
}

С таким подходом точки во всех модулях вырезаются.  ::) Может все-таки новый класс надо создавать?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ширина меню

Автор alex86r93

Ответов: 5
Просмотров: 4847
Последний ответ 14.06.2018, 05:13:50
от KANEGI
как сделать кнопки меню!

Автор Millenium_3000

Ответов: 10
Просмотров: 11362
Последний ответ 17.08.2017, 17:24:12
от Intrande
Вопрос по добавлению тега в МЕНЮ j 1.5

Автор berTalino

Ответов: 12
Просмотров: 4575
Последний ответ 29.03.2017, 16:20:43
от berTalino
Как увеличить ширину левого меню?

Автор afina2009

Ответов: 8
Просмотров: 2667
Последний ответ 09.04.2016, 23:00:36
от afina2009
Плавный якорь из меню на Jquery

Автор Timerlan

Ответов: 19
Просмотров: 3380
Последний ответ 04.02.2016, 03:54:16
от Fedor Vlasenko