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

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Подскажите пожалуйста как мне поменять местами заголовок h1 на h3 ,  на главной странице и на внутрених где слово "Акции" и "Новости" заключенны они в h1 как мне поменять их на h3 чтобы на каждой странице где название идет поставить h1 ,очень срочно жду ответов !
*

Infosakh

  • Завсегдатай
  • 1257
  • 67 / 0
в CSS наверно  ^-^
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
нет там не получается я сделал !
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Цитировать
"Акции" и "Новости"
Для чего на каждой странице придавать вес словам "Акции" и "Новости"?
по этим словам планируете вывести сайт в топ?
Название сайта тоже самое нет смысла определять в тег H1 причем опять же на каждой странице. Если хотите вывести сайт в топ по запросу "название сайта" сделайте для этого отдельную страницу и заточите ее под этот запрос.
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
ну я так и хочу сделать просто слова на главной странице "Акции" и "Новости" заключены в h1 я хочу поменять на h3 , потомучто на внутрених сраницах они тоже есть "Акции" и два раза h1 нехочу чтобы повторялись на страницах, главные слова хочу на страницах заключить в h1 а на это странице уже есть h1 это слово слева как новости "Акции" как мне поменять h1 на h3 так будет лучше!просто подскажите как сделать пожалуйста!
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
я бы на вашем месте заменил в шаблоне все вхождения в шаблоне <h1></h1> на <span class="h1"></span>
и <h3></h3> на <span class="h3"></span>
и после этого в файле CSS шаблона заменил стили для заменяемых тегов с h1 {} на span.h1 {} и h3 {} на span.h3 {} что бы не изменилось оформление страниц.
Сделать это можно в админ. панели сайта в менеджере шаблонов.
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
и что от этого поменяется?!поймите мне просто нужно замнить h1 на h3 это что невозможно? и причем чтобы оформление и местами не менались слова тоесть вни,вверх не опускался оставался на таком же месте это не возможно?
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Я же написал что это все меняется в шаблоне, ищете тег <h1></h1> и меняете его на <h3></h3> и наоборот.
После этого в файле CSS в соответствующих тегам стилях замените h1 {...} на h3 {...} и наоборот.
В чем сложность то?
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
я поменял но слова вниз как то опускаются и идут налево что тут делать? не стоят на месте как раньше и жирным становится шрифт и помень но я поставил h3 настройка как у h1 бесполезно ! как это решить?
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
дополнить файл стилей для заданных стилей параметрами
font-family:**;
font-size:**;
font-style:**;
font-variant:**;
font-weight:**;
margin:**;
padding:**;
text-align:**;
text-decoration:**;
text-indent:**;
text-shadow:**;
text-transform:**;
и привести надписи к нужному виду
** вставить нужный параметр.
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
а что без этого никак да? а почему он меняется шрифт и опукается вниз ?я же поставил такие же настройки как и h1  в h3  а?
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
потому что размеры и отступы у заголовков H1 и H3 по умолчанию разные, и если они жестко не заданы в таблице стилей, то браузер сам выбирает для них размер. От сюда и разница.
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
и в h1 стоит все нормально почему так? настройки такие же в h3 как у h1? не должно же менять ?
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Я не телепат и не вижу настройки. Опубликуйте выдержки из таблицы стилей для этих тегов, тогда будет ясно все параметры определены для задания размеров этих тегов или нет.
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Вот настройки в h1:
h1 {
   font-size:22px;
   color:#525353;
   font-weight:normal;
}
Я ставлю вниз такие же настройки только меняю h3 ставлю место h1
и получается так:
h1 {
   font-size:22px;
   color:#525353;
   font-weight:normal;
}
h3 {
   font-size:22px;
   color:#525353;
   font-weight:normal;
}

но когда ставлю h3 все по другому получается
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
что молчим?
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
значит они переопределяются другим стилем. найди все вхождения h3 и h1 стилей и проанализируй их. Какой стиль переопределяет размер.
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
на сайте стиля h3 нигде не выделен если смотреть по исходному коду только h1 и h2 ,может гдето в php кодах есть?или нет в модулях каких то?
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
вот нашел в templates/system/html/modules в этом файле вот нашел это <h3><?php echo $module->title; ?></h3> ГОВОРИТ О ЧЕМ ТО?
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
ЕЩЕ ВОТ ЗДЕСЬ templates/system/css/editor в этом файле есть настройки h1,h2 ,h3, h4 что это за настройки? в исходном коде они не встречаются кроме h1,h2,h3 но настроийки тут совсем другие вот:
h1 {
   font-family:Helvetica ,Arial,sans-serif;
   font-size: 16px;
   font-weight: bold;
   color: #666;
}
h3 {
  font-weight: bold;
  font-family: Helvetica,Arial,sans-serif;
  font-size: 13px;
  color: #135cae;
}
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
это не то
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
а что это если не секрет?
а где искать то? что делать щас а?
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
а что это если не секрет?
а где искать то? что делать щас а?
это файл стилей для визуального редактора.
Посмотреть результирующие стили с помощью последней версии оперы. наводите на надпись мыку и нажимаете правую кнопку. из списка выбираете пункт "проинспектировать элемент".
в основном окне раскроется дерево DOM странице в ней найдите интересующие вас теги, и в правом окошке увидите какие стили определены для данного элемента.
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
и вставить в h3 правильно? и все зароботает думаю
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
не помогло ставлю такая же неприятностьяяя! как по другому еще?
*

danik.html

  • Живу я здесь
  • 2650
  • 353 / 4
Блин, ну вам же уже написали:
Посмотреть результирующие стили с помощью последней версии оперы. наводите на надпись мыку и нажимаете правую кнопку. из списка выбираете пункт "проинспектировать элемент".
в основном окне раскроется дерево DOM странице в ней найдите интересующие вас теги, и в правом окошке увидите какие стили определены для данного элемента.
По-другому если у вас файрфокс то ставьте FireBug ,эти инструменты не могут не помочь
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
я все поставил я через оперу делал тоже самое показывает вниз опускается слово ! блин че делать?
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
все что было связано с h1 я поставил в h3 не помагает!
*

Dron79

  • Захожу иногда
  • 321
  • 37 / 0
  • Век живи - век учись!
Забейте. для SEO теги h1 и h3 имеют равный вес. А то что они придают вес левым словам которые не являются ключевыми, то вам должно быть вообще без разници заключено слово в тег h1 или h3.
На ерунду тратите время, и свое и чужое.
Если хотите все таки, осуществить задуманное вами, то изучайте CSS.
Постом выше я сказал вам как смотреть результирующие стили, пробуйте пока не получиться.
И кстати, что бы не опускалось в низ, поэкспериментируйте в таблице стилей для тега h3 со значением margin-top:*; и padding-top: *;
должно помочь. вместо звездочек поставьте сначала 0px а затем постепенно увеличивайте пока надпись не встанет постепенно на место.
« Последнее редактирование: 19.08.2010, 17:24:45 от Dron79 »
кодинг на php.
*

Rudpra

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
нет мне полюбому нужно поменять потому что для выделения на внутрених страницах нужно выделить ключевые слова которые раскручиваю а два раза h1 на страницйе это плохо! да я все поставил нихрена не помагает там!незнаю даже че делать
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не получается поменять description на главной странице Joomla 3.

Автор illimited

Ответов: 11
Просмотров: 1548
Последний ответ 21.12.2020, 14:39:49
от illimited
Динамический заголовок страницы в браузере и h1

Автор a159cm

Ответов: 1
Просмотров: 1079
Последний ответ 06.10.2018, 06:49:58
от smallplushbear
Заголовок H1 в названии блога категории или избранного

Автор Missile

Ответов: 25
Просмотров: 2516
Последний ответ 06.01.2017, 15:54:02
от effrit
Вопрос по поводу htaacess и поменять URL с сим волами %20 на +

Автор nafania_19

Ответов: 2
Просмотров: 991
Последний ответ 23.10.2016, 10:18:41
от nafania_19
Яндекс выкинул страницы за неверный HTTP-заголовок

Автор Konstantin124

Ответов: 3
Просмотров: 2464
Последний ответ 30.11.2015, 19:32:35
от TestUser