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

si@m

  • Захожу иногда
  • 162
  • 2 / 0
>Незнаю правильно ли я делаю, но я вообще отказался от sitemap.xml
Все зависит от того какой сайт, чем больше страниц тем важнее карта сайта, ну или карту можно заменить грамотной перелинковкой, карта вреда не нанесет, а вот помочь может, да и есть такое понятие как качество сайта, поисковые системы выставляют определенные требования для того что бы ваш сайт лучше ранжировался в поиске эти требования лучше соблюдать.
*

igorksan

  • Давно я тут
  • 503
  • 23 / 1
>Незнаю правильно ли я делаю, но я вообще отказался от sitemap.xml
Все зависит от того какой сайт, чем больше страниц тем важнее карта сайта, ну или карту можно заменить грамотной перелинковкой, карта вреда не нанесет, а вот помочь может, да и есть такое понятие как качество сайта, поисковые системы выставляют определенные требования для того что бы ваш сайт лучше ранжировался в поиске эти требования лучше соблюдать.
Согласен. А как быть если стоит компонент тегов. И все ссылки на теги на русском Яндексом и Гуглей читаются нормально (www.sait.ss/tag/автомобиль), но стоит установить мапу, как линки в самой мапе и к тому же потом и в вебмастере получаются в виде  www.sait.ss/tag/КРАКОЗЯБРЫ КОДИРОВКИ после чего линк на тег потерян, кстате и удалив мапу Яндекс потеряные теги видит в виде кракозябр, я ничего с этим сделать не смог. Пришлось отказаться от мапы, а по заполнению сайта придётся отказаться от тегов и поставить мапу.. наверна.
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Про теги сказать не могу т.к. не юзал этот компонент, тут явно какой то конфликт, и наверняка решаемый, я тегами в Joomla не пользуюсь, карту делаю скорее из педантичности, я не делал сайтов пока более 100 урлов, роботы псов и без карты съедят такой сайт, при наличии нормальной ссылочной структуры, имею в виду перелинковку и меню на сайте. Просто наличие sitemap.xml
поможет чуть быстре взять в индекс урлы с вашего сайта, а так же косвенно говорит о качестве сайта, в его лучшую сторону. Вобщем из подобных соображений я и ставлю карту на сайт.
Кстати с тегами будте осторожней, не переусердствуйте, в некоторых случаях теги могут быть восприняты как поисковый спам, вследствии чего возможны санкции со стороны пс.
« Последнее редактирование: 29.09.2010, 22:05:07 от si@m »
*

igorksan

  • Давно я тут
  • 503
  • 23 / 1
Спасибо за совет. Надо подумать над удалением компонента... это сколько 404-х повылазиет...ужс. :'(
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Ну так и не переживайте, вот руководство как по быстрому наладить индексацию вашего сайта:
1) убираем теги
2) ставим карту сайта (плагин сделает карту и для пользователя и для пс)
3)настраиваем плагин, чтобы охватил все урлы на вашем сайте ни чего не пропустил, но и не продублировал, нужно это что бы точно самому знать какие урлы по каким адресам у вас лежат
3) заводим панель вэб мастера в Google и в яндексе и добовляем свою карту в эти панели (разберетесь, это не сложно)
4) в панельках смотрим что поисковики наиндексировали на вашем сайте, сравниваем с картой сайта, она показывает реальное состояние вашего сайта
5) то что не совпадает с урлами из вашей карты, но есть в индексе пс, смело удаляем

Если ваша Joomla не генирит дублированые страницы, из за различных компонентов, то после проведенных манипуляций у вас будет правильно проиндексированный сайт, что неминуемо скажется на ранжировании, ваши ключ. запросы должны поднятся в верх.
Удачи.
*

igorksan

  • Давно я тут
  • 503
  • 23 / 1

2) ставим карту сайта (плагин сделает карту и для пользователя и для пс)

Какой плагин посоветуете использовать?
*

MaRt

  • Захожу иногда
  • 356
  • 20 / 2
  • SEO master
а че случилось то? )))
Тра та та
*

igorksan

  • Давно я тут
  • 503
  • 23 / 1
выше написано
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Я вот этот использую:
http://joomla.vargas.co.cr/
оч удобная вещица
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
А вот такой вопрос, когда в robots.txt стоит Disallow: /index.php?* и Sitemap: http://site.ru/index.php?option=com_xmap&sitemap=1&view=xml то разумеется карта сайта не будет индексироваться, так вот. Если в robots.txt просто добавить Allow: /index.php?option=com_xmap&sitemap=1&view=xml то Яндекс проиндексирует карту сайта?

P.S Данный метод 100% работает в Google, но неизвестно работает ли он в Яндексе., а иначе вот целая тема по этому вопросу http://joomlaforum.ru/index.php/topic,158000.0.html
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Не надо вам Allow писать, вот эта карта /index.php?option=com_xmap&sitemap=1&view=xml нужна только роботам п.с. это просто техническая информация о количестве урлов, людям она не нужна, поэтому в индекс ее не надо пускать. Роботы эту карту видят! и урлы от туда собирают, это как раз то для чего она и существует на вашем сайте. Если откроете к индексации, количество страниц в индексе у вас не увеличится.
*

ABCroNews

  • Захожу иногда
  • 268
  • 6 / 0
  • Строим новый дом из старых кубиков)
Не надо вам Allow писать, вот эта карта /index.php?option=com_xmap&sitemap=1&view=xml нужна только роботам п.с.
Da, no menja interesuet esli v robots.txt propisat Disallow: /index.php?* i Sitemap: http://site.ru/index.php?option=com_xmap&sitemap=1&view=xml to poiskoviki budut nahodit kartu sajta?
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Как бы вы не прописали пс найдут вашу карту, важно прописать путь до карты, а это вы уже сделали.
Вы не верно понимаете смысл слова "проиндексируют". ПС индексируют а потом показывают в поисковой выдаче, все что может пригодится посетителю сайта, файлы, страницы, текст и т.д.
А ваша карта нужна только поисковой системе, пользователю она не к чему. Вы уж тогда (следуя вашей логике) пропишите: Allow: /robots.txt
чтобы правила в роботсе лучше индексировались  ;D

*

Crazy...

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Добрый день.
Подскажите пожалуйста...А описание сайта в яндексе можно как то стандартным сделать? чтобы по любому запросу описание сайта было одно и тоже?....
Извините если это дурацкий вопрос...))
« Последнее редактирование: 07.04.2011, 12:39:46 от Crazy... »
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
*

Crazy...

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Я имею ввиду описание сайта)) вот просто гугль по любому запросу в описании сайта пишет то что написано в description, а Яндекс берет информацию для каждого запроса разную....и не понятно по какой логике он ее выбирает,...у меня есть информация которая прописана просто в шаблоне в футере, и есть похожая( но немного другая) информация в тексте( материал ) и вот Яндекс по запросу который есть и в футере и в материале выдает описание из футера...почему?
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Яндекс не советуется с нами, и не раскрывает своих секретов, поэтому на вопрос почему вам ответить смогут только представители яндекса. Могу сказать что Яндекс выбирает самые релевантные (подходящие) отрывки из текста и показывает пользователю в виде сниппета. Судя по тому что вы говорите Яндекс счел текст из футера самым релевантным относительного поискового запроса. Если вас не устраивают сниппеты то почитайте как их можно довести до ума, допустим вот это http://www.seo-azbuka.ru/optimizaciya/snippety-dlya-google-i-yandeksa-kak-sdelat-pravilnyj-snippet.html
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Если у вас изменились все URL смысла перенаправлять  «запросы» таким образом, я не вижу. Отправьте  Sitemap яндексу и он проиндексирует сайт по-новому.
я отправил, он проиндексировал но не все, (как сделать так чтобы все? - или он со временем сам все проиндексирует?)
старых очень много осталось (как их удалить?) вот здесь уже смотрел, но по одной странице нет смысла удалять, или не надо их удалять, Яндекс сам удалит?
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Со временем Яндекс все сам уберет из индекса, и да можно только по одной странице удалять. Скорость индексации зависит от качества вашего сайта, робот соберет страницы быстро, а вот попадут они в основную выдачу (в индекс) зависит в основном от качества контента на сайте. Если уник. материалы то все будет нормально, просто подождите, если же копипаст, то тут даже танцы с бубном не помогут.
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Со временем Яндекс все сам уберет из индекса, и да можно только по одной странице удалять. Скорость индексации зависит от качества вашего сайта, робот соберет страницы быстро, а вот попадут они в основную выдачу (в индекс) зависит в основном от качества контента на сайте. Если уник. материалы то все будет нормально, просто подождите, если же копипаст, то тут даже танцы с бубном не помогут.
спасибо,
а качество контента это текст+мета+key words?
У меня такая ситуация - есть товары. они в таблице - названия и артикулы такие же как и на других сайтах (и вообще везде), есть описание маленькое - свое - это качественно?+ к каждой стр прописаны мета и key words
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

si@m

  • Захожу иногда
  • 162
  • 2 / 0
Качественный текст в вашем случае, это уникальные описания к товарам, а не скопированные с чужого сайта, ключевые слова тоже играют свою роль, но уникальность это самое важное на что стоит обратить внимание, тексты не должны быть засраны ключевыми словами, делайте все для посетителя а не для ПС. По правильной оптимизации текстов поищите в интернете. Ну и может быть ситуация когда с вашего сайта текст своровали, в этом случае тоже скорее всего придется переписать все что наворовали негодяи-вэбмастера.
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
А понимает ли Яндекс бессмысленные тексты, например: " Кружатся пирожки в воздухе, да приговаривают, летели корабли в желатиновом море ..." и т.д., при всем, что с орфографией в таких текстах все норм, и как он реагирует на такие сайты - бан, агс, или все же индексирует?
*

otshelnik

  • Захожу иногда
  • 116
  • 7 / 0
  • мы вместе!
А понимает ли Яндекс бессмысленные тексты, например: " Кружатся пирожки в воздухе, да приговаривают, летели корабли в желатиновом море ..." и т.д., при всем, что с орфографией в таких текстах все норм, и как он реагирует на такие сайты - бан, агс, или все же индексирует?
А почему бы вам не ввести эти фразы в строку поиска и помотреть результат?
*

Frontovik

  • Захожу иногда
  • 57
  • 1 / 0
А почему бы вам не ввести эти фразы в строку поиска и помотреть результат?
Сидел на разным форумах, читал, но для себя ничего не нашел, там пишут про совсем уж нечитабельный текст и про орфографию, который Яндекс не любит, и слова в тексте, которые друг к другу не вяжутся, у которых тематика разная, а я немного про другое, допустим тематика слов в тексте одинаковая и падежи выдержаны правильно, например: "По поисковой оптимизации деятельность развивается бурное развитие благоприятной среды множества факторов и мифов оптимизации разнообразных сайтов. " этот текст будет индексироваться и не считаться за мусорную свалку? как Яндекс к таким текстам относится?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Давайте хоть на этом форуме без дорвеестроителей и прочих уродов обойдемся!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как найти и определить сервис раскрутки сайта?

Автор Gosha5767

Ответов: 0
Просмотров: 4981
Последний ответ 08.07.2025, 17:19:50
от Gosha5767
Как вывести в сниппете название статьи, а потом название сайта?

Автор gorbi_U

Ответов: 0
Просмотров: 1097
Последний ответ 18.01.2022, 18:29:22
от gorbi_U
Расширенные описания страниц в Joomla (микроданные, микроформаты, RDFa, schema.org)

Автор ELLE

Ответов: 151
Просмотров: 112699
Последний ответ 20.11.2021, 18:15:42
от Byzi
Решение - Редирект со страниц AMP на обычные

Автор draff

Ответов: 2
Просмотров: 1264
Последний ответ 20.11.2021, 17:03:03
от draff
Яндекс и его роботы

Автор Захар

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