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

konoden

  • Захожу иногда
  • 326
  • 40 / 0
  • Поиск смысла жизни. Выполнено 15%...
Нет, я не имел в виду ничего плохого. Сам бывает по невнимательности допускаю очевидные ошибки.
Попробуйте в техподдержку хостинга написать насчет того, что редиректы не работают. Может они как-то прокомментируют
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Пользовательские редиректы, вроде -
Код
Redirect 301 /old-page http://site.ru/new-page

нужно прописывать после -
Код
## Begin - Custom redirects
*

renault

  • Захожу иногда
  • 202
  • 1 / 0
На 20.05.2013 ситуация следующая:
Страниц в Google   - 6
Страниц в Яндексе   - 5

Дубли удалены, редирект установлен.

!До этого ситуация была -  В Яндексе 8, в Google 15 + в индексе дубли, редиректа нет

Но самое печальное на данный момент, что в Яндексе - я сайт даже не нашел на первых 3 страницах, в Google ситуация чуть лучше - нашел ссылку на 2-ой страницу.
Странная ситуация на мой взгляд, так как запрос с учетом географического фильтра достаточно редкий, и правильно предположить, что тематический сайт должен выдаваться хотя бы на 1 странице, а получается что 1-3 места выдаются подобные тематические прокаченные сайты, другие позиции занимают каталоги разные с небольшими упоминаниями тематики, а мой сайт где-то далеко далеко на 3 и 4 страницах, хотя он заточен под тематику. и заслуживает 1 страницу.
 Почему так?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
На 20.05.2013 ситуация следующая:
Страниц в Google   - 6
Страниц в Яндексе   - 5

Дубли удалены, редирект установлен.

!До этого ситуация была -  В Яндексе 8, в Google 15 + в индексе дубли, редиректа нет

Но самое печальное на данный момент, что в Яндексе - я сайт даже не нашел на первых 3 страницах, в Google ситуация чуть лучше - нашел ссылку на 2-ой страницу.
Странная ситуация на мой взгляд, так как запрос с учетом географического фильтра достаточно редкий, и правильно предположить, что тематический сайт должен выдаваться хотя бы на 1 странице, а получается что 1-3 места выдаются подобные тематические прокаченные сайты, другие позиции занимают каталоги разные с небольшими упоминаниями тематики, а мой сайт где-то далеко далеко на 3 и 4 страницах, хотя он заточен под тематику. и заслуживает 1 страницу.
 Почему так?

И? Там всего то страниц 6 и есть!
И из этих 6 даже не все открываются - схема проезда не работает.

А насчет выдачи - как думаете, если в центре Москвы открыть Шиномонтаж со ржавой дверью, обвалившейся вывеской и парой алгоколигов на фоне - там будут клиенты?
Вот и Яндекс думает, что им оно не надо :-)
*

skyrec

  • Захожу иногда
  • 382
  • 10 / 0
  • Люблю я детей !!!
И? Там всего то страниц 6 и есть!
И из этих 6 даже не все открываются - схема проезда не работает.

А насчет выдачи - как думаете, если в центре Москвы открыть Шиномонтаж со ржавой дверью, обвалившейся вывеской и парой алгоколигов на фоне - там будут клиенты?
Вот и Яндекс думает, что им оно не надо :-)
Хаааа, это либо виски, либо правда круто сказано  :):):) Вам надо курсы по SEO вести товарисч :)

А по поводу 6 страниц и почему в индексе больше нет, это такой прикол ? :D
« Последнее редактирование: 21.05.2013, 02:54:55 от skyrec »
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
1. На страницах по две пары тегов H1. Исправьте вот это
Код
 <h1 class="za-logo-name"><a href="/"></a></h1>
2. Зачем на Главной в тайтле "круглосуточно мы с Вами"?
3. Фавикон свой сделайте.

На сайте 6 страниц, 5 проиндексированы (ибо одна не открывается).
А каталогам, в которых как бы мало тематической информации по Вашей теме, может быть по 5-7 лет, траст у них может быть высокий и т.п. При прочих равных условиях всегда найдётся куча факторов, по которым можно отставать.

И да, Вы где смотрите позиции по своему сайту? В том же браузере, в котором работаете над ним, в котором, возможно, не отключён персонализированный поиск? Просто у меня в чистом браузере (без кэша, истории и прочего) в регионе "Одинцово" Вашего сайта нет в первых 300 позициях в Yandex и Google. Это по запросу "шиномонтаж".
По запросу "шиномонтаж в одинцово" В Яндексе за 300, в Google 8.
*

renault

  • Захожу иногда
  • 202
  • 1 / 0
И из этих 6 даже не все открываются - схема проезда не работает.
я ее специально на время закрыл
А насчет выдачи - как думаете, если в центре Москвы открыть Шиномонтаж со ржавой дверью, обвалившейся вывеской и парой алгоколигов на фоне - там будут клиенты?
Вот и Яндекс думает, что им оно не надо :-)
А почему Яндекс так думает? Можно больше конкретики, а не полемики?! У меня на Ваш аргумент есть пример: я также создал 1 год назад сайт и что удивительно тоже на тему шиномонтажа, но он почему то через 3-4 месяца уже был в первых строчках и в Google и в яндексе. Другими словами - создав сайт№2 и который  мы сейчас обсуждаем - я увидел, что он просто не воспринимается поисковиками. Конечно причин наверно тому масса, но все они скорее всего кроются в шаблоне - который я использовал.
*

renault

  • Захожу иногда
  • 202
  • 1 / 0
1. На страницах по две пары тегов H1. Исправьте вот это
Код
 <h1 class="za-logo-name"><a href="/"></a></h1>
2. Зачем на Главной в тайтле "круглосуточно мы с Вами"?
3. Фавикон свой сделайте.

Спасибо за конструктив.
Касательно Н1 подправлю
Касательно фразы - круглосуточно мы с Вами. Написал сей текст, так как хотел совместить красивое с эффективным, другими словами - можно было тупо написать "Шиномонтаж Одинцово" или "Шиномонтаж Одинцово круглосуточно крулосуточно.", а тут решил оргинальность включить).

PS: в целом, думаю, что шаблон сделан не очень удачно (возможно ошибаюсь), но факты говорят сами за себя.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дополнительное название домена в Google

Автор web1

Ответов: 1
Просмотров: 2046
Последний ответ 18.12.2023, 12:56:21
от SeBun
Нет позиций в Google Joomla 3

Автор Benderalfa

Ответов: 1
Просмотров: 2937
Последний ответ 20.09.2022, 20:53:56
от darkghost
Google не индексирует страницы через ajax ссылки

Автор illimited

Ответов: 0
Просмотров: 1363
Последний ответ 31.03.2022, 23:53:05
от illimited
meta-description не отображается в Google

Автор Игарь

Ответов: 39
Просмотров: 7197
Последний ответ 20.11.2021, 18:17:12
от Byzi
Яндекс и его роботы

Автор Захар

Ответов: 2
Просмотров: 800
Последний ответ 22.10.2021, 09:52:59
от Захар