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

AxMuziakar

  • Захожу иногда
  • 70
  • 0 / 1
  • AX--<M
проблема  
У Fire Fox сайт отображается вот так : http://photo.qip.ru/users/499982886/151150584/173968621/full_image/
после того как  FireBug  в вкладке макет правлю значения сайт стает нормальным : http://photo.qip.ru/users/499982886/151150584/173968620/full_image/
  
В чем проблема? помогите  
« Последнее редактирование: 18.04.2012, 16:41:01 от AxMuziakar »
*

AxMuziakar

  • Захожу иногда
  • 70
  • 0 / 1
  • AX--<M
ХЕЛП! =(((((((((((((
*

Ser_g

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
проблема 
после того как  FireBug  в вкладке макет правлю значения сайт стает нормальным

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

AxMuziakar

  • Захожу иногда
  • 70
  • 0 / 1
  • AX--<M
Не могу найти код который правлю в FireBug
*

Ser_g

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
я полагаю ты правишь стили в файрбаге.
так вот там справа в углу (файрбага) там где стили, есть синий текст (ссылка), в которой написано какой файл стиля праить нужно и какую строку.
затем идешь в редактор, открываешь файл стиля, находишь там ту строку что показал файрбаг, и изменяешь параметры. сохраняешь, заливаешь на сервак, провряешь
*

Kaylang

  • Захожу иногда
  • 74
  • 5 / 0
Не могу найти код который правлю в FireBug
Ты смотришь вкладку Макет. Переключись на вкладку Стиль и будет тебе щасте! ;)
*

AxMuziakar

  • Захожу иногда
  • 70
  • 0 / 1
  • AX--<M
Я так делал и ничего не помогло :(
Показывает только это:

td, div {
    font-size: 12px;
}
template_css.css (строка 144)
* {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}
template_css.css (строка 1)
article, aside, div, dt, figcaption, footer, form, header, hgroup, HTML, map, nav, section {
    display: block;
}
html.css (строка 131)
<Система>
address, address[dir], article, article[dir], aside, aside[dir], blockquote, blockquote[dir], body, body[dir], caption, caption[dir], center, center[dir], col, col[dir], colgroup, colgroup[dir], dd, dd[dir], dir, dir[dir], div, div[dir], dl, dl[dir], dt, dt[dir], fieldset, fieldset[dir], figcaption, figcaption[dir], figure, figure[dir], footer, footer[dir], form, form[dir], h1, h1[dir], h2, h2[dir], h3, h3[dir], h4, h4[dir], h5, h5[dir], h6, h6[dir], header, header[dir], hgroup, hgroup[dir], hr, hr[dir], HTML, html[dir], legend, legend[dir], li, li[dir], listing, listing[dir], map, map[dir], marquee, marquee[dir], menu, menu[dir], nav, nav[dir], noframes, noframes[dir], ol, ol[dir], p, p[dir], plaintext, plaintext[dir], pre, pre[dir], section, section[dir], summary, summary[dir], table, table[dir], tbody, tbody[dir], td, td[dir], tfoot, tfoot[dir], th, th[dir], thead, thead[dir], tr, tr[dir], ul, ul[dir], xmp, xmp[dir] {
    unicode-bidi: -moz-isolate;
}
html.css (строка 63)
<Система>
Унаследовано отbody#s5_body
body {
    color: #666666;
    font-family: Arial,Helvetica,sans-serif;
}
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
а что нужно сделать-то? На 1 пиксель подвинуть или как? Просто создать в стилях маргин такой-то для того-то дива и все будет норм.. Задача не совсем ясна, что хочет автор?
*

AxMuziakar

  • Захожу иногда
  • 70
  • 0 / 1
  • AX--<M
Мне нужно что бы в Fire Fox нормально отображался >:(
Да и притом что этот глюк в шаблоне только в отображении сайта в Mozila!
Но я его не могу исправить  :(
*

lottis

  • Захожу иногда
  • 181
  • 11 / 0
ну так может адрес сайта скинете? А то как-то узнать то, незная что, и исправить там не зная где - это задача не тривиальная :)
*

Ser_g

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Мне нужно что бы в Fire Fox нормально отображался >:(
Да и притом что этот глюк в шаблоне только в отображении сайта в Mozila!
Но я его не могу исправить  :(
Мне кажется тебе нужно искать причины в этом месте
Код
template_css.css (строка 144)
* {
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
    margin-top: 0;
    padding-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
}

попробуй margin задать какую-нибудь величину.
И я думаю что можно обойтись одним padding:0;  вместо перечисления всех. То же с margin
*

AxMuziakar

  • Захожу иногда
  • 70
  • 0 / 1
  • AX--<M
Проблему решил))))
Осталась еще одна я в файле mod_virtuemart_search.php не могу сделать обводку колонки вода текста
*

Ser_g

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Проблему решил))))
И в чем была причина?
Осталась еще одна я в файле mod_virtuemart_search.php не могу сделать обводку колонки вода текста
Если не ошибаюсь, это стиль inputbox какой нибуль нужно править, задать border:1px solid (или dotted например) #цвет;
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

шаблон IT Newsy - By IceTheme проблема со списком.

Автор wolf34

Ответов: 4
Просмотров: 6038
Последний ответ 30.05.2017, 11:52:27
от darkghost
Проблема с изменением логотипа штатного шаблона rhuk_milkyway Joomla_1.5

Автор Porohok

Ответов: 6
Просмотров: 4866
Последний ответ 22.03.2017, 10:34:23
от Porohok
Проблема отображения контента при масштабировании окна браузера

Автор Свят

Ответов: 2
Просмотров: 2262
Последний ответ 10.02.2016, 15:14:24
от Свят
Шаблон yoo spark проблема с отображением логотипа

Автор ymaiorov

Ответов: 2
Просмотров: 2747
Последний ответ 25.05.2014, 01:50:11
от eprofit
Проблема с кодировко index.php шаблона

Автор Black_Ledy

Ответов: 5
Просмотров: 1826
Последний ответ 24.01.2014, 12:35:10
от umbabaraumba