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

anna_kapl

  • Новичок
  • 4
  • 0 / 0
шрифты в опере и мозиле
« : 22.06.2008, 23:59:04 »
Может кто сталкивался

в css размер шрифта прописан в pt, указан шрифт font-famaly : tahoma

но почему та в опере и ie шрифты нормально отображаются
а в мозиле и firefox шрифт намного мелче и не подцепляется шрифт

в чем может быть проблема?
*

poizon

  • Захожу иногда
  • 495
  • 187 / 1
  • Buu
Re: шрифты в опере и мозиле
« Ответ #1 : 23.06.2008, 00:03:07 »
задайте семейство шрифтов целиком
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Re: шрифты в опере и мозиле
« Ответ #2 : 23.06.2008, 12:40:44 »
В FF стили шрифта нельзя писать одной строкой. Я с этим же сталкивался. В ИЕ и Опере конструкция вида
font: 12px bold #000000
работала, в ФФ - нет. Когда прописал все свойства отдельными строками - стало работать везде.
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

anna_kapl

  • Новичок
  • 4
  • 0 / 0
Re: шрифты в опере и мозиле
« Ответ #3 : 23.06.2008, 20:53:13 »
archer1981
спасибо, попробую
*

anna_kapl

  • Новичок
  • 4
  • 0 / 0
Re: шрифты в опере и мозиле
« Ответ #4 : 23.06.2008, 21:03:41 »
действиетльно стработало
огромное спасибо, я не знала о такой особенности:)
*

archer1981

  • Захожу иногда
  • 285
  • 13 / 0
Re: шрифты в опере и мозиле
« Ответ #5 : 24.06.2008, 09:58:29 »
действиетльно стработало
огромное спасибо, я не знала о такой особенности:)
Век живи, век учись ) я методом тыка на своём сайте это тему нашёл...
http://walkspb.ru - Энциклопедия Санкт-Петербурга
*

justalex

  • Захожу иногда
  • 88
  • 0 / 0
  • продам большой адронный коллайдер - по дешевке
Re: шрифты в опере и мозиле
« Ответ #6 : 03.08.2008, 15:33:43 »
а если в css нет строки font family?
есть только
 #bg {
   font: normal 11px Arial, Helvetica, sans-serif;
}

но когда делаю так:
#bg {
   font: normal 11px Arial;
font: normal 11px Helvetica;
font: normal 11px sans-serif;
}

ничего не меняется, в опере шрифты отображаются все равно некрасиво...
как сделать правильно?
*

justalex

  • Захожу иногда
  • 88
  • 0 / 0
  • продам большой адронный коллайдер - по дешевке
Re: шрифты в опере и мозиле
« Ответ #7 : 03.08.2008, 22:06:51 »
что никто незнает? ::)
*

VETERINAR

  • Давно я тут
  • 855
  • 165 / 14
  • Kiss my shiny metal ass!
Re: шрифты в опере и мозиле
« Ответ #8 : 03.08.2008, 22:11:06 »
что никто незнает? ::)

Знает. Не работает потому, что  в css того, что Вы пишите нет. Вы это сами придумали, а браузер мысли читать не умеет.

Правильно так:

Код: css
#bg {
font-family:Arial, Helvetica, sans-serif;
font-weight:normal;
font-size:11px;
}
*

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Re: шрифты в опере и мозиле
« Ответ #9 : 03.08.2008, 22:12:25 »
html { font: 100.01% Tahoma;} //Ставим размер шрифта по умолчанию 16 пикселей.
body { font-size: 62.5%;} // Делаем 1 em = 10 пикселям
#bg { font-size: 1.2em;} // В этот блоке размера шрифта будет 12 пикселей
*

justalex

  • Захожу иногда
  • 88
  • 0 / 0
  • продам большой адронный коллайдер - по дешевке
Re: шрифты в опере и мозиле
« Ответ #10 : 04.08.2008, 20:58:13 »
Знает. Не работает потому, что  в css того, что Вы пишите нет. Вы это сами придумали, а браузер мысли читать не умеет.

Правильно так:

Код: css
#bg {
font-family:Arial, Helvetica, sans-serif;
font-weight:normal;
font-size:11px;
}

Прописал, все отобразилось так же, но все шрифты стали на несколько пикселов больше
*

justalex

  • Захожу иногда
  • 88
  • 0 / 0
  • продам большой адронный коллайдер - по дешевке
Re: шрифты в опере и мозиле
« Ответ #11 : 04.08.2008, 20:59:26 »
html { font: 100.01% Tahoma;} //Ставим размер шрифта по умолчанию 16 пикселей.
body { font-size: 62.5%;} // Делаем 1 em = 10 пикселям
#bg { font-size: 1.2em;} // В этот блоке размера шрифта будет 12 пикселей

16 пикселей? текст вилизет за границы нашей галактики
*

justalex

  • Захожу иногда
  • 88
  • 0 / 0
  • продам большой адронный коллайдер - по дешевке
Re: шрифты в опере и мозиле
« Ответ #12 : 04.08.2008, 21:05:06 »
дело в том что мой шаблон использует набор стилей, но на сайте отключены все кроме  (style1)
Прикрепляю архив (папку css) может поможете исправить проблемку? ^-^

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

PaLyCH

  • Давно я тут
  • 956
  • 146 / 19
  • Менеджер проектов
Re: шрифты в опере и мозиле
« Ответ #13 : 05.08.2008, 12:12:15 »
16 пикселей? текст вилизет за границы нашей галактики
А ты попробуй вставить как я написал,и сам увидишь, что будет. Тут есть хитрости верстки.
*

justalex

  • Захожу иногда
  • 88
  • 0 / 0
  • продам большой адронный коллайдер - по дешевке
Re: шрифты в опере и мозиле
« Ответ #14 : 05.08.2008, 23:14:39 »
А ты попробуй вставить как я написал,и сам увидишь, что будет. Тут есть хитрости верстки.

Попробовал... шрифты вылезли за пределы человеческого восприятия нормального...
*

justalex

  • Захожу иногда
  • 88
  • 0 / 0
  • продам большой адронный коллайдер - по дешевке
Re: шрифты в опере и мозиле
« Ответ #15 : 07.08.2008, 23:02:23 »
вопрос еще актуален, помогите разобраться кто действительно знает ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться