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

superman

  • Новичок
  • 4
  • 0 / 0
Добрый день друзья.
Есть сайт , который прекрасно индексируется поисковой машиной Google(видит все страницы), но никак не хочет грамотно индексироватся яндексом. В вебмастере Яндекс, в разделе "Страницы в поиске" Яндекс видит только главную страницу по адресу. Насколько я понимаю Яндекс любит ЧПУ ссылки и в этом моя проблема, так как мои ссылки на сайте выглядят примерно так(/index.php?option=com_content&view=article&id=39&Itemid=88888924) но у меня VirtueMart 1.1.8 и с включенным SEO в стандартный настройках сайта, интернет магазина перестает нормально работать и постоянно выдает ошибку при попытке что-то купить. что делать друзья как быть ? Подскажите пожалуйста, в долгу не останусь :'(
« Последнее редактирование: 30.10.2012, 19:27:26 от superman »
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Re: Проблема индексации Яндекс
« Ответ #1 : 24.02.2012, 12:45:58 »
Ваша первая ошибка это отсутствие редиректа с hameleon-salon.com на www.hameleon-salon.com
Ну и тему robots.txt ищите в FAQ и учите её
Мета описаний тоже не увидел я…
*

superman

  • Новичок
  • 4
  • 0 / 0
Re: Проблема индексации Яндекс
« Ответ #2 : 24.02.2012, 13:00:41 »
Ваша первая ошибка это отсутствие редиректа с
Ну и тему robots.txt ищите в FAQ и учите её
Мета описаний тоже не увидел я…
Спасибо что откликнулись... про robots.txt обязательно почитаю, прям на нашем же форуме. Я не очень понял про редирект ? если можно чуточку подробнее или ткните мне где почитать ?
Скажите т.е яндексу не обязательны красивые ссылки он вполне может индексировать и ссылки типо той чтоя  привел в первом сообщении !?
« Последнее редактирование: 30.10.2012, 19:27:43 от superman »
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Re: Проблема индексации Яндекс
« Ответ #3 : 24.02.2012, 13:04:51 »
А вид ссылок ему пофиг, но вы упускаете возможнось использовать ключевые слова в ссылках. Редирект http://htmlweb.ru/php/htaccess.php
Про дубли страниц ещё очень полезная темка — ищите
http://joomlaforum.ru/index.php/topic,131023.0.html
http://joomlaforum.ru/index.php/topic,156030.0.html
*

superman

  • Новичок
  • 4
  • 0 / 0
Re: Проблема индексации Яндекс
« Ответ #4 : 24.02.2012, 13:24:37 »
Спасибо большое буду пока изучать материал чтобы не задавать глупых вопросов в спешке. Спасибо что откликнулись.
*

wfedin

  • Завсегдатай
  • 1273
  • 102 / 0
Re: Проблема индексации Яндекс
« Ответ #5 : 24.02.2012, 13:38:47 »
Спасибо большое буду пока изучать материал чтобы не задавать глупых вопросов в спешке. Спасибо что откликнулись.

Весьма разумно, только с robots.txt поакуратнее, тупо не копипастите а именно разберитесь и изучите. Иначе можно получить с большой вероятностью обратный эффект.
*

Mikle_Shaman

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Проблема индексации Яндекс
« Ответ #6 : 24.04.2012, 18:25:23 »
Не буду плодить очередную тему, напишу здесь. Ситуация аналогичная. Joomla + VirtueMart. Товаров магазина нет в индексе Яндекса. Ссылка на магазин с фронта есть, карта сайта ( в которой наличествуют все товары) и ссылка на нее с фронта тоже есть. А вот индекса нет. Глупо уточнять что с Гуглем как всегда всё хорошо. А вот с Яндесом ж......
Да, и собственно сайт www.храним-колеса.рф
Не сильно надеюсь, но если кто что подскажет умное буду зело признателен.
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
Re: Проблема индексации Яндекс
« Ответ #7 : 28.04.2012, 21:15:07 »
Не буду плодить очередную тему, напишу здесь. Ситуация аналогичная. Joomla + VirtueMart. Товаров магазина нет в индексе Яндекса. Ссылка на магазин с фронта есть, карта сайта ( в которой наличествуют все товары) и ссылка на нее с фронта тоже есть. А вот индекса нет. Глупо уточнять что с Гуглем как всегда всё хорошо. А вот с Яндесом ж......
Да, и собственно сайт www.храним-колеса.рф
Не сильно надеюсь, но если кто что подскажет умное буду зело признателен.

у вас нет SEF ссылок, обычные ссылки Joomla Яндекс не очень то и любит...во вторых страницы с самими товарами у вас не несут особо никакого смысла, чтобы яндексу было интересно ему желательно уникальное описание для каждого товара хоть на 1 тыс символов, уникальное а не спертое откуда то, не пользуйтесь никогда самостоятельно не проверенными методами раскрутки, Яндекс злой и строгий последнее время, четвертое популярный ответ суппорта "развивайте сайт, добавляйте уникальные материалы и статьи и сайт станет более интересным поисковой системе" ну и самое главное, Яндекс дибил это не гугл=) чуточку терпения, у него медленные апдейты и сайт он может индексировать ооочень долго=)добавьте так же сайт еще в панель вебмастера и возможно тот покажет какие либо ошибки=)
*

eclipseggg

  • Захожу иногда
  • 410
  • 32 / 2
Re: Проблема индексации Яндекс
« Ответ #8 : 28.04.2012, 21:15:41 »
да и у вас тоже с www на no-www нет редиректа)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Расширение от индексации поисковиками внешних ссылок

Автор THE KILLERS

Ответов: 6
Просмотров: 1478
Последний ответ 11.03.2022, 16:02:10
от NewUsers
Закрыть страницу со знаком? от индексации

Автор Андрей Нестеров

Ответов: 2
Просмотров: 1308
Последний ответ 28.02.2022, 22:38:44
от Андрей Нестеров
Не дело это - закрывать от индексации страницы с пагинацией

Автор ChaosHead

Ответов: 48
Просмотров: 11445
Последний ответ 04.11.2021, 06:44:26
от Slava77
Яндекс и его роботы

Автор Захар

Ответов: 2
Просмотров: 800
Последний ответ 22.10.2021, 09:52:59
от Захар
JL NO doubles не работает с Яндекс Маркетом

Автор espam

Ответов: 0
Просмотров: 846
Последний ответ 27.06.2021, 22:54:24
от espam