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

shturmanoid

  • Захожу иногда
  • 62
  • 0 / 0
SIGE - Simple Image Gallery Extended - Version 1.5-15
Метод просмотра - shadowbox.

Сейчас картнки всплывают на темном прозрачном фоне, нужно сделать его светлее.
Искал в sige.css и shadowbox.css, но не нашел, где это можно сделать.
Подскажите, пожалуйста, в каком файле это можно изменить?
*

oriol

  • Завсегдатай
  • 1042
  • 100 / 4
Re: Как изменить цвет фона в shadowbox?
« Ответ #1 : 25.12.2011, 17:47:12 »
Примерно так 
style=
"filter:alpha(opacity=50); /* IE 5.5+*/
-moz-opacity: 0.5; /* Mozilla 1.6 и ниже */
-khtml-opacity: 0.5; /* Konqueror 3.1, Safari 1.1 */
opacity: 0.5; /* CSS3 - Mozilla 1.7b +, Firefox 0.9 +, Safari 1.2+, Opera 9 */ "

Это прозрачность 50% а цвет   background: #fc0ссс http://htmlbook.ru/css/background
*

shturmanoid

  • Захожу иногда
  • 62
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #2 : 26.12.2011, 15:07:47 »
Спасибо Вам за совет, руководствовался им.

Цвет фона и прозрачность задал в shadowbox.css в sb-container.
Но цвет изменился только на момент загрузки картинки. Стиль на момент отображения берется из файлов shadowbox.js и shadowbox_en.js. Изменил значения там, теперь все отображается, как надо.

Еще раз спасибо за совет.
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #3 : 28.10.2012, 23:19:12 »
Пожалуйста напишите по-подробнее как поменять цвет фона и прозрачность. У меня не получается!
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #4 : 29.10.2012, 10:01:10 »
Когда меняю в shadowbox.js и shadowbox_en.js  sb-container то изменяется фон и изображение, когда же меняю sb-overlay то ничего не меняется. Пишу это <div id="sb-overlay" style="opacity: 0.1; "></div>
Что делаю не так? Подскажите.
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #5 : 14.11.2012, 19:43:24 »
Никто не может помочь...
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #6 : 04.08.2014, 13:18:53 »
За полтора года ни одного ответа... :(
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как изменить цвет фона в shadowbox?
« Ответ #7 : 04.08.2014, 17:04:44 »
За полтора года ни разу не было ссылки на сайт или хотя бы листинга кода, который выводит этот shadowbox.
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как изменить цвет фона в shadowbox?
« Ответ #9 : 04.08.2014, 20:55:45 »
Код: css
#sb-container {background:#f00 !important;}
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #10 : 07.08.2014, 16:10:47 »
У меня всё равно не получается!
Пишу настройки в shadowbox.css.
Мне надо чтобы получился полупрозрачный белый фон.
Но когда я задаю прозрачность, то прозрачным становится и сама картинка...
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как изменить цвет фона в shadowbox?
« Ответ #11 : 07.08.2014, 16:27:43 »
Я ж про прозрачность ничего не писал. Почему у вас картинка становится прозрачной?
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #12 : 07.08.2014, 22:09:10 »
Мне просто нужно поменять полупрозрачный черный фон в этой галерее на полупрозрачный серый или полупрозрачный белый.
И не могу этого сделать.

Когда меняю в shadowbox.js и shadowbox_en.js  sb-container то изменяется прозрачность фона вместе с изображением, когда же меняю sb-overlay то ничего не меняется. Пишу это <div id="sb-overlay" style="opacity: 0.1; "></div>
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как изменить цвет фона в shadowbox?
« Ответ #13 : 08.08.2014, 00:26:48 »
Я не понимаю, зачем вы всё это делаете. Я написал решение, проверил на вашем сайте. Всё работает. Белый это #fff. Серый #ccc например.
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #14 : 08.08.2014, 10:45:14 »
С цветом фона понятно. Спасибо!
Но как сделать прозрачность, чтобы сама картинка не становилась прозрачной?
Я написал в shadowbox.css #sb-container{background:#fff !important;opacity:0.2 !important;}
Посмотрите что получилось. Фон с картинкой, кнопки навигации, подпись под картинкой, всё стало прозрачным вместе с фоном.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как изменить цвет фона в shadowbox?
« Ответ #15 : 08.08.2014, 11:55:58 »
Пишите цвет в RGBA.

Код: css
#sb-container{background:rgba(255,255,255,.5)!important;}
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #16 : 08.08.2014, 23:42:33 »
Сделал как Вы написали.
Но всё равно не получается как надо.
Получается наложение полупрозрачного белого на полупрозрачный чёрный.
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как изменить цвет фона в shadowbox?
« Ответ #17 : 09.08.2014, 00:47:15 »
Ну чёрный будет rgba(0,0,0,.5).
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #18 : 09.08.2014, 10:39:17 »
Я написал в shadowbox.css как Вы сказали #sb-container{background:rgba(255,255,255,.5)!important;}
Посмотрите пожалуйста на сайте, что прозрачность не работает...
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Re: Как изменить цвет фона в shadowbox?
« Ответ #19 : 09.08.2014, 22:05:52 »
Добавьте:
Код: css
#sb-overlay {background:none !important;}
Ну и там 0,5 наверное мало. Как-то так:

Код: css
#sb-container{background:rgba(255,255,255,.8)!important;}
*

Rob7

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Re: Как изменить цвет фона в shadowbox?
« Ответ #20 : 11.08.2014, 10:09:12 »
Большое спасибо за помощь! Все получилось!
Дальше поменять цвет и размер текста попробую сам.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменить блок галереи с горизонтального на вертикальный?

Автор PSN

Ответов: 3
Просмотров: 1983
Последний ответ 11.04.2014, 07:56:31
от verstalshik