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

RezistoR

  • Захожу иногда
  • 74
  • 1 / 0
  • Danger! High Voltage!
Подскажите какой пункт надо ковырять чтоб изменить шрифт только статей (содержимое)? Тут смотрел: http://joomlaforum.ru/index.php/topic,30874.0.html но чето не нашел.
*

poizon

  • Захожу иногда
  • 495
  • 187 / 1
  • Buu
скачайте firefox и расширение к нему - firebug. найдете все, что требуется.

А на такие вопросы без предоставления ссылки/html/css ответа ждать просто глупо.

да и там есть такая вот строка
.contentpaneopen {} /* Таблица для контента. */
*

RezistoR

  • Захожу иногда
  • 74
  • 1 / 0
  • Danger! High Voltage!
А что это расшерение к FF показывает работу CSS?

Ну я смотрел .contentpaneopen только у меня там нету строки чтоб шрифт менять.

Прикрепил файл CSS, извеняюсь что сразу не прикрепил, думал там этот параметр у всех стандартный.

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

licbez

  • Захожу иногда
  • 76
  • 11 / 0
Вот этот класс меняй на нужное тебе:
Код: css
table.contentpaneopen {
width:100%;
border-spacing:0;
padding-left:5px;
padding-right:5px;
margin-bottom:5px;
}
Например добавь
Код: css
color:#646464;
font-family:Verdana,Arial,sans-serif;
font-size: 14px
этим самым задашь стиль шрифта, его цвет и размер
Дерзай...
P.S. а вообще стоит почитать вот это и раздел css в частности... Многие вопросы отпадут сами собой
Кто хочет — ищет способы, кто нет - причины....
*

RezistoR

  • Захожу иногда
  • 74
  • 1 / 0
  • Danger! High Voltage!
Ну вот вставил туды такой код:

table.contentpaneopen {
  color            : #646464;
  font-family      : Verdana;
  font-size        : 14px
  width            : 100%;
  border-spacing   : 0;
  padding-left     : 5px;
  padding-right    : 5px;
  margin-bottom    : 5px;
 
}

А толку нету, ни че не изменилось.
*

licbez

  • Захожу иногда
  • 76
  • 11 / 0
ссылку в студию
ЗЫ: а пробовал F5 нажимать?
Кто хочет — ищет способы, кто нет - причины....
*

RezistoR

  • Захожу иногда
  • 74
  • 1 / 0
  • Danger! High Voltage!
Ну канечно страницу обновлял, настройки CSS сохранял, я пока не совсем... :)))

Эээ, ссылку наверное не получится т.к. на локале все делаю, а даже если и на сайте то файлы все равно не посмотришь.

Я делал свой шаблон на основе уже готового и оформлял под свой вкус, могу ссылку на него дать установи и попробуй изменить то поле которое говорил.

Ссылка: http://mambasana.ru/component/option,com_remository/Itemid,26/func,download/id,8/chk,a4e5bf953c9bf94d12cebab19e5d9dc3/
*

licbez

  • Захожу иногда
  • 76
  • 11 / 0
Подожди, у тебя как называется файл css шаблона: template_css.txt или template_css.css ?
Две большие разницы....
А чтобы не изменилось оформление текста контента после внесённых тобой изменений - не верю, быть такого не может
Кто хочет — ищет способы, кто нет - причины....
*

RezistoR

  • Захожу иногда
  • 74
  • 1 / 0
  • Danger! High Voltage!
template_css.css это я его суда вставил как template_css.txt потому как форум не позволяет с расширением .css файлы грузить а с .txt можно так что тут все норм.

Можешь не верить, но я честно :) пробывал все внимательно делал, вправду ни каких изменений,  может потому что там выше какой то параметр уже задан и он его не может отменить? Ф.З.
*

licbez

  • Захожу иногда
  • 76
  • 11 / 0
Попробуй firebug-ом щёлкнуть правой кнопкой по тексту контента и выбери inspect element. В правой части firebug-а есть информация о css. С верху вниз идут свойства элементов в порядке их значимости, т.е. то что не перечёркнуто то и влияет на свойства елементов. Посмотри к какому элементу относятся первые значения  color , font-family, font-size  - вот их и менять нужно....
А вообще нутром чую, что в твоём случае стили оформления текста контента были заданы при создания материала в визуальном редакторе. Посмотри ни в этом ли дело
Кто хочет — ищет способы, кто нет - причины....
*

RezistoR

  • Захожу иногда
  • 74
  • 1 / 0
  • Danger! High Voltage!
Посморел я этим чудом стили выходит что основной контент у меня зависит от этого в первую очередь

td, tr, p, div
color:#270801;
font-family:Arial,Verdana,Helvetica,sans-serif;
font-size:13px;
line-height:16px;
}

Получается он форматирует этим стилем все td, tr, p, div, поэтому у меня и получается что хочу изменить шрифт контента а изменяется шрифт почти всего, всех модулей, компанент и др. А как сделать чтоб только контент?

Кстати а плагин то нужый!!! :D Ну почему я узнаю о нем последний??? :dry:
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как узнать в каком CSS файле делать изменения?

Автор kunsaid

Ответов: 6
Просмотров: 2539
Последний ответ 08.04.2018, 22:12:48
от kunsaid
Jea Search. Подскажите!

Автор pocheto

Ответов: 0
Просмотров: 902
Последний ответ 29.07.2017, 22:42:02
от pocheto
Выделить активный пункт меню цветом

Автор ghostnetwork

Ответов: 20
Просмотров: 3336
Последний ответ 05.12.2016, 11:03:19
от ustmm
Как разместить шрифт Times New Roman локально?

Автор Ferum1

Ответов: 3
Просмотров: 2676
Последний ответ 06.10.2016, 19:20:48
от Ferum1
Шрифт в меню

Автор HoBi4oK

Ответов: 6
Просмотров: 1341
Последний ответ 27.08.2016, 17:48:38
от HoBi4oK