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

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
seo анализаторы и component/search
« : 24.11.2011, 10:23:19 »
вот кто скажет про такое:
короче на сайте всего с десяток страниц текста, не считая страниц товаров в магазине
seo анализаторы показывают, что всего страниц в индексе 6000
когда открываешь "на посмотреть", то видишь адреса в основном из component/search

http://site.ru/component/search/?searchword=кл+лиц&searchphrase=all&ordering=newest
http://site.ru/component/search/?searchword=РєРѕРЅС„&searchphrase=all&ordering=newest

та же фигня с одинаковыми страницами (совпадающими)

100%   [T] http://site.ru/component/search/?searchword=лиц+1СЃ&searchphrase=all&ordering=newest
100%   [T] http://site.ru/component/search/?searchword=лиц+20&searchphrase=all&ordering=newest
100%   [T] http://site.ru/component/search/?searchword=лиц+50&searchphrase=all&ordering=newest

это что так и должно быть или это нужно как-то отключать?
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: seo анализаторы и component/search
« Ответ #1 : 24.11.2011, 11:00:12 »
Лучше закрыть в robots.txt
Цитировать
Disallow: /component/search/
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: seo анализаторы и component/search
« Ответ #2 : 24.11.2011, 15:39:36 »
так есть уже там 
Disallow: /components/

вот он весь:

User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /proba/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /index2.php?option=com_content&task=emailform
Disallow: /*?sl*
Disallow: /index.php?*
Disallow: *.pdf$
Disallow: /name.php?action=print
Disallow: /trackback
Disallow: /*rss.html
Disallow: /*atom.html
Crawl-delay: 2
Host: site.ru.ru
Sitemap: http://site.ru.ru/index.php?option=com_xmap&sitemap=1&view=xml

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /proba/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /index2.php?option=com_content&task=emailform
Disallow: /*?sl*
Disallow: /index.php?*
Disallow: *.pdf$
Disallow: /name.php?action=print
Disallow: /trackback
Disallow: /*rss.html
Disallow: /*atom.html
Crawl-delay: 2
Sitemap: http://site.ru/index.php?option=com_xmap&sitemap=1&view=xml
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
Re: seo анализаторы и component/search
« Ответ #3 : 24.11.2011, 15:53:46 »
надо так:
Disallow: /search
или так все содержащие «?»:
Disallow: /*?
но тогда Google Sitemap в твоём случае не будет видеть
и убери лишний Sitemap для Yandex - просто отдели пустой строкой после части для всех роботов - Yandex увидит.

у меня твой robots будет выглядеть так:
Спойлер
[свернуть]

p.s.
- часть строк уже можно выкинуть отсюда если используем Disallow: /*?
« Последнее редактирование: 24.11.2011, 15:57:38 от skai »
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

reasons

  • Захожу иногда
  • 382
  • 6 / 0
  • http://dehost.biz
Re: seo анализаторы и component/search
« Ответ #4 : 24.11.2011, 16:23:29 »
Цитировать
так есть уже там
Disallow: /components/

надо не components а komponent
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: seo анализаторы и component/search
« Ответ #5 : 24.11.2011, 16:33:24 »
так есть уже там 
Disallow: /components/
Лучше закрыть в robots.txt
Код
Disallow: /component/search/
*

Antosha

  • Захожу иногда
  • 420
  • 52 / 0
  • Плохо спорить плохо
Re: seo анализаторы и component/search
« Ответ #6 : 24.11.2011, 16:44:13 »
Цитировать
Мы стараемся не индексировать или не ранжировать высоко:

Цитировать
траницы сайта с результатами поиска.

По любому закрывать от индесации
<a href="http://joomlablog.ru/">JoomlaBlog</a>
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: seo анализаторы и component/search
« Ответ #7 : 25.11.2011, 13:18:05 »
надо не components а komponent

какова komponent когда папка называется components ?
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: seo анализаторы и component/search
« Ответ #8 : 25.11.2011, 13:26:49 »
Сайт динамический, на папки ему плевать, все строиться на переменных в строке запроса, по этому надо не обращать внимание на папки и обратить более пристальное внимание на переменные.
*

reasons

  • Захожу иногда
  • 382
  • 6 / 0
  • http://dehost.biz
Re: seo анализаторы и component/search
« Ответ #9 : 25.11.2011, 17:17:05 »
Цитировать
какова komponent когда папка называется components ?
вот ваши дубли
http://site.ru/component/search/

*

Antosha

  • Захожу иногда
  • 420
  • 52 / 0
  • Плохо спорить плохо
Re: seo анализаторы и component/search
« Ответ #10 : 26.11.2011, 03:54:39 »
Цитировать
Сайт динамический, на папки ему плевать, все строиться на переменных в строке запроса, по этому надо не обращать внимание на папки и обратить более пристальное внимание на переменные

ну тогда, наверное, что-то типа option = com_search
<a href="http://joomlablog.ru/">JoomlaBlog</a>
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Re: seo анализаторы и component/search
« Ответ #11 : 26.11.2011, 08:02:12 »
Именно, но это надо прописать  в правила для роботов на понятном для них языке.
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
Re: seo анализаторы и component/search
« Ответ #12 : 26.11.2011, 10:10:41 »
вот ваши дубли
http://site.ru/component/search/

убедил, я как то даже не обратил внимание :)

похоже что это поиск вертуя - т.к. весь этот мусор из поиска мага

вот так достаточно будет?

User-agent: Yandex
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/*
Disallow: /component/search/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /index2.php?option=com_content&task=emailform
Disallow: /*?
Disallow: /404
Disallow: /search
Disallow: /*?sl*
Disallow: /index.php?*
Disallow: *.pdf$
Disallow: /name.php?action=print
Disallow: /trackback
Disallow: /*rss.html
Disallow: /*atom.html
Crawl-delay: 2
Host: site.ru

User-agent: *
Disallow: /administrator/
Disallow: /cache/
Disallow: /components/
Disallow: /component/*
Disallow: /component/search/
Disallow: /images/
Disallow: /includes/
Disallow: /installation/
Disallow: /language/
Disallow: /libraries/
Disallow: /media/
Disallow: /modules/
Disallow: /plugins/
Disallow: /templates/
Disallow: /tmp/
Disallow: /xmlrpc/
Disallow: /index2.php?option=com_content&task=emailform
Disallow: /*?
Disallow: /404
Disallow: /search
Disallow: /*?sl*
Disallow: /index.php?*
Disallow: *.pdf$
Disallow: /name.php?action=print
Disallow: /trackback
Disallow: /*rss.html
Disallow: /*atom.html
Crawl-delay: 2

Sitemap: http://site.ru/index.php?option=com_xmap&sitemap=1&view=xml


видел еще применяют такую строку:
Disallow: /component/content/
не знаю нужна она...
« Последнее редактирование: 26.11.2011, 10:15:40 от Sedoy »
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Antosha

  • Захожу иногда
  • 420
  • 52 / 0
  • Плохо спорить плохо
Re: seo анализаторы и component/search
« Ответ #13 : 27.11.2011, 06:33:47 »
никакие * не работают.... по крайней мере для Google...
<a href="http://joomlablog.ru/">JoomlaBlog</a>
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: seo анализаторы и component/search
« Ответ #14 : 27.11.2011, 13:26:36 »
никакие * не работают.... по крайней мере для Google...
всё работает -> http://code.google.com/intl/ru/web/controlcrawlindex/docs/robots_txt.html
-------------------------------------------
проигнорирует если на такую страницу будет стоять ссылка,- в таком случае в вебмастере может появиться предупреждение, типа в роботсе закрыты важные страницы вашего сайта.
« Последнее редактирование: 27.11.2011, 13:54:08 от ELLE »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Google Search Console, sitemap.xml и robots.txt

Автор Игарь

Ответов: 7
Просмотров: 1467
Последний ответ 20.05.2020, 23:36:20
от Kostelano
Редиректы с ?tmpl=component&print=1 на те же страницы без ?tmpl=component&print=1

Автор buto

Ответов: 7
Просмотров: 1778
Последний ответ 17.06.2016, 14:00:42
от dmitry_stas
Подскажите что это за ошибки в Search Console

Автор Stasweb

Ответов: 3
Просмотров: 1237
Последний ответ 15.04.2016, 14:36:32
от ChaosHead
Как убрать дубли с "tmpl=component&print=1&layout=default&page="?

Автор Bysel

Ответов: 1
Просмотров: 1722
Последний ответ 17.07.2015, 19:43:16
от Gosha5767
Google Search Operators

Автор lexx006

Ответов: 0
Просмотров: 1014
Последний ответ 25.12.2014, 10:13:26
от lexx006