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

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Привет, друзья. Помогите, пожалуйста, разобраться с заморочкой. Немного увеличил размер лого от исходного, но полностью моя картинка так и не отображается. Показывается ровно столько, сколько был размер предыдущего лого (193 х 67 рх). Как в фотошопе, когда в верхнем слое есть вырез, и какого бы размера картинка не была слоем ниже, отображается ровно столько, сколько вырезано в верхнем слое. Методом тыка задолбался тыкать. Прошу помощи у вас. Вот шаблон: http://joomla.themesoul.com/eatoreh15/index.php
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Поменял размер лого - не влазит...
« Ответ #1 : 15.05.2012, 19:59:01 »
Как сейчас вижу - размер логотипа 193*67 - и ничего не обрезается.
Если будете увеличивать картинку, нужно одновременно размер блока изменить - файл setting.css
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #2 : 15.05.2012, 20:06:28 »
Да, если меняю картинку на аналогичный размер - то все ок. Но как только немного увеличиваю ее в ФШ (запас то в шаблоне позволяет), то она обрезается и все равно остается 193х67. Не сжимается, а именно обрезается.
Подскажите, пожалуйста, что именно нужно поменять в setting.css?
Нашел там такое:
h1.logo,         
h1.logo a{
  width: 193px;   /*width of your logo image*/
  height: 67px;   /*height of your logo image*/
Изменил по размеру своей картинки - 265 х 93рх, но ничего после этого не изменилось. Дырка осталась 193х67, а под ней виднеется мой увеличенный png файл.
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Поменял размер лого - не влазит...
« Ответ #3 : 15.05.2012, 20:12:17 »
Это наглая ложь! Не верьте предыдущему посту!
Вот не поленился, пошел снова на указанный сайт, проставил размеры
width: 390px;
height: 90px;

и все ок. Выше или шире чем эти размеры уже не сделать.
« Последнее редактирование: 15.05.2012, 20:20:19 от danik.html »
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #4 : 15.05.2012, 20:17:14 »
Это не ложь! У меня залита картинка вместо стандартной, размером 265х93. В setting.css сейчас сохранено такое значение:
h1.logo,         
h1.logo a{
  width: 265px;   /*width of your logo image*/
  height: 93px;   /*height of your logo image*/
}
При все при этом по-прежнему дырка меньших размеров, через которую видно мою бОльшую картинку. Сто раз обновляю сайт - хрена лысого. Честно слово!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Поменял размер лого - не влазит...
« Ответ #5 : 15.05.2012, 20:22:07 »
Хром? Что по Ctrl+Shift+J видно?
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #6 : 15.05.2012, 20:28:59 »
Там, если вы обратили внимание, в шапке сверху до оранжевой полосы идет как бы такая сеточка еле заметная, на которой меню и логотип. В этой сеточке есть дырка, где и был прошлый логотип. Теперь же заменил лого на свое немного большее, но дырка в этой сеточке каких размеров была, таких и осталась. Т.е. через нее то мой логотип видно, да только не весь, т.к. его размер больше, чем вырез в этой гребаной сеточке. Примерно так.

Да, Хром. Вот что видно по ктрл+шифт+джей:
Спойлер
[свернуть]
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Поменял размер лого - не влазит...
« Ответ #7 : 15.05.2012, 20:39:24 »
Ниче подобного. Пруф:


В появившейся панельке есть кнопочка - лупа, тыкаем в нее, тыкаем в интересующий блок - смотрим css-свойства и радуемся что это так просто и удобно.
« Последнее редактирование: 15.05.2012, 20:42:58 от danik.html »
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #8 : 15.05.2012, 20:44:26 »
Да уж, что-то я совсем левое вам отправил. С перепугу, наверное. Потыкал там еще (просмотреть код элмента) и там, действительно, стоит 193 х 67 рх. Я изменяю на нужное мне - и чудо происходит. Действительно просто и удобно. Но как это чудо сохранить прямо оттуда?  Из админки я поменял значение в сеттингс.цсс и сохранил. Но почему-то не срабатывает.
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #9 : 15.05.2012, 20:46:36 »
Просто отжал галочки, напротив высоты и ширины, и все ок! Но как сохранить? Извините : )
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Поменял размер лого - не влазит...
« Ответ #10 : 15.05.2012, 20:47:31 »
Но почему-то не срабатывает.
Видимо, кэш браузера. Пробуйте Ctrl+F5 . Или кэш на стороне сервера. Инструментов сжатия/объединения js/css не используется? Нужно удалить закэшированные файлы.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #11 : 15.05.2012, 20:49:27 »
Честно говоря, но очень хорошо понимаю, о чем речь, но в любом случае знаю, куда теперь копать. Спасибо вам огромное!
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #12 : 15.05.2012, 20:49:42 »
Салют!
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Re: Поменял размер лого - не влазит...
« Ответ #13 : 15.05.2012, 20:50:59 »
Честно говоря, но очень хорошо понимаю, о чем речь, но в любом случае знаю, куда теперь копать. Спасибо вам огромное!
Обычно достаточно нажать Очистить кэш в меню Joomla.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #14 : 15.05.2012, 21:06:57 »
Все заработало!
« Последнее редактирование: 15.05.2012, 21:55:23 от keet »
*

keet

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #15 : 15.05.2012, 21:10:17 »
Спасибо!
« Последнее редактирование: 15.05.2012, 21:55:31 от keet »
*

ladi

  • Новичок
  • 2
  • 0 / 0
Re: Поменял размер лого - не влазит...
« Ответ #16 : 02.09.2012, 00:37:10 »
Очень нужна помощь, настраиваю шаблон eatoreh (http://test.m-str.com/) не могу поставить слайд шоу, как на скриншоте. Joomla 1,7
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как выключить фиксированный размер изображений в Шаблоне?

Автор guka

Ответов: 2
Просмотров: 2158
Последний ответ 07.11.2012, 18:28:05
от guka
Размер шаблона

Автор Dimir

Ответов: 10
Просмотров: 2368
Последний ответ 25.09.2012, 19:14:07
от Dimir
походу не последний косяк)как изменить размер шрифта заголовка статьи в Joomla 1.5 и еще далее...

Автор rimir

Ответов: 3
Просмотров: 4613
Последний ответ 15.08.2012, 20:39:44
от rimir
Поменял шаблон - проблема с отображением меню. Помогите!

Автор koroluk1990

Ответов: 8
Просмотров: 2282
Последний ответ 28.04.2012, 23:43:09
от IcemanV
изменить размер h1 в шаблоне RT Camber

Автор indipin

Ответов: 2
Просмотров: 1710
Последний ответ 15.01.2012, 04:05:19
от indipin