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

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
HTML5 и заголовки H1
« : 07.01.2013, 15:22:53 »
В 5 версии семантика изменилась и если грамотно использовать тег <section> то можно иметь более одного тега h1.
Не нужно вводить людей в заблуждение section не дает права использовать h1.

Правильная структура, когда на странице может быть более одного заголовка h1:

Код: html4strict
<section>

  <article>
    <header>
      <h1>Заголовок</h1>
    </header>
    <section>
      <p>Контент</p>
    </section>
  </article>    

  <article>
    <header>
      <h1>Заголовок</h1>
    </header>
    <section>
      <p>Контент</p>
    </section>
  </article>
    
</section>

Вот в данном случае повторение возможно, т.к. явно указывается, что заголовок принадлежит определенному контенту, при этом еще указывается что это именно заголовок, а не просто текст в h1, в других случаях заголовок в формате h1 может быть только один. При желании можно указывать и h2, в теории ничего "делиться" не должно.


Добавлю от себя - как сферические кони в вакууме додумываются модули оборачивать в <article>, при этом полностью игнорируя <aside>?

Все выше сказанное верно только для html5.
« Последнее редактирование: 07.01.2013, 18:51:20 от ELLE »
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Ключи и описание в H1
« Ответ #1 : 07.01.2013, 15:28:09 »
Ааа, вот так так вот... В принципе, это страница с превью материалов, т.е. она "обо всём" и особо не претендует на значимость.
Такие страницы обычно претендуют на сч запросы, так как обобщают какую то тему.
Например сайт продает Холодильники, Садовые приспособления и телевизоры (ну вот пусть будет такой сайт))))
Так вот - есть категория "Садовые приспособления" в ней есть разные товары.
В данном случае такая категория будет собирать сч запросы типа:
Садовые приспособления, Садовые приспособления купить, Садовые приспособления как приобрести и т.д.
А товары в ней будут нч запросами.
То есть суть в том, что такая страница является очень значимой для ряда тематик.
Я знаю только то, что ничего не знаю
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #2 : 07.01.2013, 15:32:28 »
Maxum, многое зависит от типа документа, т.е. если у вас html4, рекомендую прислушаться к мнению skai и ELLE, а если html5, то стоит учитывать мои рекомендации.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Ключи и описание в H1
« Ответ #3 : 07.01.2013, 15:35:29 »
Не нужно вводить людей в заблуждение section не дает права использовать h1.
<article> - Задаёт содержание сайта вроде новости, статьи, записи блога, форума или др.
То есть содержит непосредственно текст.
<section> - Определяет раздел документа, который может включать в себя заголовки, шапку, подвал и текст.
То есть содержит как текст так и заголовки, обуславливает некий раздел со своей структурой.
(инфа взята с htmlbook.ru)

Пожалуйста опровергните... становиться интересно.
Я знаю только то, что ничего не знаю
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #4 : 07.01.2013, 15:42:38 »
А что опровергать? Внутри <section> заголовки пойдут по схеме:
<h1>Блог категории</h1>
<h2>Подзаголовок</h2>
<h3>Материал1</h3>
<h3>Материал2</h3>
<h3>Материал3</h3>
, если не используется <article>, при условии использования которого можно применять заголовки большего уровня, иначе - правила наследования.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Ключи и описание в H1
« Ответ #5 : 07.01.2013, 15:44:04 »
Не нужно вводить людей в заблуждение section не дает права использовать h1.

Правильная структура, когда на странице может быть более одного заголовка h1:

Код: html4strict
<section>

  <article>
    <header>
      <h1>Заголовок</h1>
    </header>
    <section>
      <p>Контент</p>
    </section>
  </article>    

  <article>
    <header>
      <h1>Заголовок</h1>
    </header>
    <section>
      <p>Контент</p>
    </section>
  </article>
    
</section>

Вот в данном случае повторение возможно, т.к. явно указывается, что заголовок принадлежит определенному контенту, при этом еще указывается что это именно заголовок, а не просто текст в h1, в других случаях заголовок в формате h1 может быть только один. При желании можно указывать и h2, в теории ничего "делиться" не должно.


Добавлю от себя - как сферические кони в вакууме додумываются модули оборачивать в <article>, при этом полностью игнорируя <aside>?

Все выше сказанное верно только для html5.
Неверно
http://html5doctor.com/avoiding-common-html5-mistakes/
Цитировать
Код
<!-- Don’t copy this code! No need for header here -->
<article>
  <header>  
    <h1>My best blog post</h1>
  </header>
  <!-- Article content -->
</article>

If your <header> element only contains a single heading element, leave out the <header>. The <article> ensures that the heading will be shown in the document outline, and because the <header> doesn’t contain multiple elements (as the definition describes), why write code when you don’t need to? Simply use this:
Код
<article>  
  <h1>My best blog post</h1>
  <!-- Article content -->
</article>
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #6 : 07.01.2013, 15:45:42 »
Код: html4strict
Если усложнять схему, то будет так:
  <article>

    <header><h1>Заголовок</h1></header>

    <section>
      <header><h2>Подраздел</h2></header>
      <p>Контент</p>
    </section>

    <section>
      <header><h2>Подраздел</h2></header>
      <p>Контент</p>
    </section>

    <section>
      <header><h2>Подраздел</h2></header>
      <p>Контент</p>
    </section>

  </article>
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Ключи и описание в H1
« Ответ #7 : 07.01.2013, 15:47:44 »
Night зачем рекомендовать неверный с точки зрения html5doctor код?
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #8 : 07.01.2013, 15:49:46 »
voland, все у меня верно, полный вывод включает еще в <header> дату создания документа, указание категории, так что использование <header> рекомендуемо, учитывай, что еще оптимально использовать <footer>, куда выносятся все лайки/комментарии и прочая менее важная информация, хотя вот комментарии можно закинуть в <section>
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Ключи и описание в H1
« Ответ #9 : 07.01.2013, 15:49:53 »
А что опровергать? Внутри <section> заголовки пойдут по схеме
Все правильно, я это и написал выше, в теге <section> будет свой заголовок h1, задавая его каждому "краткому материалу" на странице, можно каждому их них дать h1. В чем тут заблуждение?

Правильная структура, когда на странице может быть более одного заголовка h1:
Вот тут для меня не понятно, вы <header> оборачиваете в <article> а не в <section>
<article> - Задаёт содержание сайта вроде новости, статьи, записи блога, форума или др.
<section> - Определяет раздел документа, который может включать в себя заголовки, шапку, подвал и текст.
Я знаю только то, что ничего не знаю
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Ключи и описание в H1
« Ответ #10 : 07.01.2013, 15:52:04 »
voland, все у меня верно, полный вывод включает еще в <header> дату создания документа, указание категории, так что использование <header> рекомендуемо, учитывай, что еще оптимально использовать <footer>, куда выносятся все лайки/комментарии и прочая менее важная информация, хотя вот комментарии можно закинуть в <section>
Я выше дал ссылку на статью на html5doctor, и там указано это как одна из 20 типичных ошибок!
Доверия к ним у меня как то побольше )
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Ключи и описание в H1
« Ответ #11 : 07.01.2013, 15:53:46 »
Код: html4strict
Если усложнять схему, то будет так:
  <article>

    <header><h1>Заголовок</h1></header>

    <section>
      <header><h2>Подраздел</h2></header>
      <p>Контент</p>
    </section>

    <section>
      <header><h2>Подраздел</h2></header>
      <p>Контент</p>
    </section>

    <section>
      <header><h2>Подраздел</h2></header>
      <p>Контент</p>
    </section>

  </article>
Правильно будет <p>Контент</p> обернуть в <article> и убрать его из других мест
Я знаю только то, что ничего не знаю
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #12 : 07.01.2013, 15:55:21 »
Night зачем рекомендовать неверный с точки зрения html5doctor код?
Где это сказано?  Переведи, то, что сам запостил ;)


Правильно будет <p>Контент</p> обернуть в <article> и убрать его из других мест
И что будет? На одной странице куча статей без заголовков или куча статей с заголовками?

Я выше дал ссылку на статью на html5doctor, и там указано это как одна из 20 типичных ошибок!
Доверия к ним у меня как то побольше )
Сказал же - перевод сделай ))
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #13 : 07.01.2013, 15:57:02 »
Все правильно, я это и написал выше, в теге <section> будет свой заголовок h1, задавая его каждому "краткому материалу" на странице, можно каждому их них дать h1. В чем тут заблуждение?
Вот тут для меня не понятно, вы <header> оборачиваете в <article> а не в <section>
Да в том, что у тебя вложенность идет!

Код: html4strict
<section>
  <section>
    <section>
      ...
    </section>
  </section>
  <section>
    ...
  </section>
</section>
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Ключи и описание в H1
« Ответ #14 : 07.01.2013, 15:58:06 »
Сказал же - перевод сделай ))
Здрасьте приехали...  взял и послал.
А доки W3C тоже в переводе читаем?
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Ключи и описание в H1
« Ответ #15 : 07.01.2013, 16:01:56 »
Не понимаем мы друг друга )), вот код:

Код: html4strict
<section>
 <header><h1>Подраздел</h1></header>
 <p>Контент</p>
</section>

<section>
 <header><h1>Подраздел</h1></header>
 <p>Контент</p>
</section>
 
<section>
 <header><h1>Подраздел</h1></header>
 <p>Контент</p>
</section>

Не надо все это оборачивать в <article>, этот тег не обусловливает содержания в себе заголовков, подвалов и т.д.
Я знаю только то, что ничего не знаю
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #16 : 07.01.2013, 16:02:47 »
voland, хватит холиварить, причины использования <header> я указал, как впрочем и использования <footer>.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #17 : 07.01.2013, 16:05:43 »
Да собственно е...  как хотите - свое мнение высказал, выкладки дал, дальше использовать или нет - дело ваше, если используете <section> - используйте, но тогда учитывайте вложенность.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Ключи и описание в H1
« Ответ #18 : 07.01.2013, 16:06:32 »
voland, хватит холиварить, причины использования <header> я указал, как впрочем и использования <footer>.
А я указал, что это типичная ошибка, и так делать не стоит.
Как модератор - наверно стоит почитать, что умные люди пишут и поправить почты, которые новички читают.
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #19 : 07.01.2013, 16:11:54 »
А я указал, что это типичная ошибка, и так делать не стоит.
Где типичная ошибка? Там говорится только о том, что можно не использовать <header> внутри <article>, если заголовок всего один, и не более того, при этом есть оговорка, что <header> указывается, если в него выносятся какие-либо элементы, а туда мы выносим дату создания, указание категории, теги.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Ключи и описание в H1
« Ответ #20 : 07.01.2013, 16:20:44 »
Где типичная ошибка? Там говорится только о том, что можно не использовать <header> внутри <article>, если заголовок всего один, и не более того, при этом есть оговорка, что <header> указывается, если в него выносятся какие-либо элементы, а туда мы выносим дату создания, указание категории, теги.
Ок, не ошибка, но нерекомендуемо. Код выше - как раз точный пример нерекомендуемого.
Код: html4strict
<section>

  <article>
    <header>
      <h1>Заголовок</h1>
    </header>
    <section>
      <p>Контент</p>
    </section>
  </article>   

  <article>
    <header>
      <h1>Заголовок</h1>
    </header>
    <section>
      <p>Контент</p>
    </section>
  </article>
   
</section>
*

NortonFox

  • Захожу иногда
  • 441
  • 43 / 0
Re: Ключи и описание в H1
« Ответ #21 : 07.01.2013, 16:21:08 »
Когда у нас страница товара (или статья и т.д.) То мы все описание запускаем в <article>, туда же и <header> если надо.
А речь шла о станице категории и вопрос - можно ли использовать много H1, для этого я предложил писать на хтмл5 используя тег <section>, что бы выделять зоны со своими заголовками. Вы написали, что я ввожу в заблуждение и предоставили код, который на мой взгляд был ошибочным, соответственно мне и стало интересно, может быть ошибаюсь я...
Не в коем случае не хотел чем то задеть или все в том духе..
Я знаю только то, что ничего не знаю
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #22 : 07.01.2013, 16:24:00 »
voland, ну лениво мне расписывать заголовок, что с этим делать? Там (в <header>) еще должно быть пара <section> и <time>.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

NightGuard

  • Живу я здесь
  • 2927
  • 378 / 7
  • вжжж-вжжж
Re: Ключи и описание в H1
« Ответ #23 : 07.01.2013, 16:26:03 »
для этого я предложил писать на хтмл5 используя тег <section>, что бы выделять зоны со своими заголовками
Там тогда используется правило наследования, которое привела ELLE, с учетом вложенности <section>.
Идеология сверхпотребления более опасна для человечества, чем идеология гитлеровского тоталитаризма
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: HTML5 и заголовки H1
« Ответ #24 : 07.01.2013, 19:12:51 »
Ок, не ошибка, но нерекомендуемо. Код выше - как раз точный пример нерекомендуемого.
Скорее не так...
Цитировать
A header element is intended to usually contain the section's heading (an h1–h6 element or an hgroup element), but this is not required. The header element can also be used to wrap a section's table of contents, a search form, or any relevant logos.

http://www.w3.org/TR/2012/CR-html5-20121217/sections.html#the-header-element
всего лишь необязателен.
если нет других элементов (дата/время, к примеру), т.е если имеем только один <h1>, то оборачивать его в <header> будет излишним

Так это без претензий, просто для уточнения
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Re: Ключи и описание в H1
« Ответ #25 : 08.01.2013, 03:16:50 »
Такие страницы обычно претендуют на сч запросы, так как обобщают какую то тему.
Например сайт продает Холодильники, Садовые приспособления и телевизоры (ну вот пусть будет такой сайт))))
Так вот - есть категория "Садовые приспособления" в ней есть разные товары.
В данном случае такая категория будет собирать сч запросы типа:
Садовые приспособления, Садовые приспособления купить, Садовые приспособления как приобрести и т.д...
С категориями товаров на страницах магазины - да, в моём же случае речь идёт о странице "Блог категории", все материалы находятся в одном разделе - "Статьи", т.е. на страницу выводятся одновременно и "Статья про Холодильники", и "Текст о Садовых приспособлениях", и "Лучшие в мире Телевизоры".

Maxum, многое зависит от типа документа, т.е. если у вас html4, рекомендую прислушаться к мнению skai и ELLE, а если html5, то стоит учитывать мои рекомендации.

У меня XHTML 1.0 Transitional. В "Блоге категорий" заголовок страницы в H1, заголовки превью статей - в H2, их соответственно, несколько. Пока всё, что было мной прочитано на эту тему, говорит о том, что количество H2 на странице не ограничено, если они не разбросаны беспорядочно по тексту, а являются "заголовками структурных единиц" текста.
« Последнее редактирование: 08.01.2013, 03:20:35 от Maxum »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Заголовки статей без тегов <h1>, <h2>, <h3>! Почему?

Автор hoock

Ответов: 25
Просмотров: 6892
Последний ответ 08.02.2018, 23:14:06
от ChaosHead
Заголовки: быть или не быть?

Автор alexanderuss

Ответов: 11
Просмотров: 1508
Последний ответ 17.02.2016, 16:09:09
от alexanderuss
Почему анализаторы сайта не видят заголовки,?

Автор nerusaxe

Ответов: 11
Просмотров: 3892
Последний ответ 27.05.2014, 11:15:38
от nerusaxe
В Google вебмастере Отсутствующие заголовки (теги title)

Автор zvi

Ответов: 9
Просмотров: 1500
Последний ответ 25.03.2014, 21:46:13
от zvi
Как переименовать заголовки h2 в h1 ни чего не помогает?

Автор guloc55

Ответов: 10
Просмотров: 2334
Последний ответ 27.01.2013, 16:49:35
от samuray7