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

mashut

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Google - неправильные тайтлы
« : 10.10.2013, 11:37:55 »
Имеется: www.afstyle.eu - мультиязычный сайт на Joomla 2.5
Проблема: Google добавляет в конец практически каждого тайтла фразу "Why AFstyle?", хотя в коде страниц такой фразы нет:
https://www.google.com/search?q=allinurl:www.afstyle.eu//+site:www.afstyle.eu#q=allinurl:www.afstyle.eu/de/+site:www.afstyle.eu&start=0
На сайте стоит плагин Metagenerator, но там в настойках стоит вывод только тайтла, не прибавляя ни категорию, ни название сайта...
Вопросы:
1. Откуда Google берёт эту фразу и зачем добавляет в тайтл? Ведь у меня все тайтлы чётко прописаны...
2. Как избавиться от этой фразы в тайтлах?

Буду признательна за любую помощь и подсказки.

PS писала в форум Google, внятного ответа они мне не дали. Что-то типа вроде, Google сам решает, что поместить в тайтл...
« Последнее редактирование: 10.10.2013, 11:48:04 от mashut »
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Google - неправильные тайтлы
« Ответ #1 : 11.10.2013, 22:09:19 »
1. Ну раньше-то эта фраза была, это видно, если посмотреть сохраненную копию
2. Тайтлы Google меняет в зависимости от запроса, формируя более релевантный заголовок

*

1day

  • Захожу иногда
  • 160
  • 7 / 6
Re: Google - неправильные тайтлы
« Ответ #2 : 11.10.2013, 22:12:55 »
у меня такая же проблема, только я не использую плагины meta.
видимо у Google алгоритмы поменялись, из-за левых добавлений к тайтлам даже позиции стали слетать уже...
*

mashut

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Google - неправильные тайтлы
« Ответ #3 : 11.10.2013, 22:29:13 »
Цитировать
Ну раньше-то эта фраза была, это видно, если посмотреть сохраненную копию

Это где это видно? Покажите мне хоть одну страницу из кэша, где эта фраза была?
http://webcache.googleusercontent.com/search?q=cache:MK3qgWDlPpIJ:www.afstyle.eu/de/kontakt+&cd=8&hl=ru&ct=clnk
Там не могло этого быть, это это же немецкая версия, откуда там фраза "Why AFstyle"?

Так ясно, что это не кэш, и не мета, а глюк Google или очередная такитика (может, засовывания брэнда в тайтл или что-то подобное). Если у кого есть решения, как с этим бороться, напишите пожалуйста. Мне только одно на ум приходит - писать более длинные тайтлы, чтобы у Google не было возможности что-то вставлять в конце...
« Последнее редактирование: 11.10.2013, 22:46:22 от mashut »
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Google - неправильные тайтлы
« Ответ #4 : 11.10.2013, 23:32:09 »
Это где это видно? Покажите мне хоть одну страницу из кэша, где эта фраза была?
http://webcache.googleusercontent.com/search?q=cache:S3sgm2M73lcJ:www.afstyle.eu/about+&cd=6&hl=ru&ct=clnk

http://prntscr.com/1wop2t

это это же немецкая версия, откуда там фраза "Why AFstyle"?
ну и что, домен-то один

Цитировать
Мне только одно на ум приходит - писать более длинные тайтлы, чтобы у Google не было возможности что-то вставлять в конце...
это не вариант - обрежет, как ему надо, возьмет заголовок из h1 или h2
вариант - добавить в тайтл название сайта\бренда, раз он того хочет
« Последнее редактирование: 11.10.2013, 23:38:26 от ELLE »
*

mashut

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Google - неправильные тайтлы
« Ответ #5 : 11.10.2013, 23:42:38 »
Вы прикалываетесь? Это одна страница с таким названием (на английском языке). А у меня теперь практически все страницы сайта, даже немецкие и чешские, имеют эту фразу в тайтле. И вы считаете, что Google сделал правильно и логично, включив тайтл одной страницы сайта на более чем 500 страницах? 
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Google - неправильные тайтлы
« Ответ #6 : 12.10.2013, 02:00:02 »
Вы прикалываетесь?
А что вы так нервничаете?
Подайте в суд на корпорацию Google за то, что их поисковая машина не так ранжирует ваш сайт.
*

mashut

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Re: Google - неправильные тайтлы
« Ответ #7 : 12.10.2013, 11:02:54 »
Да я просто хотела помощи, что делать и проч., а не оправданий Google. Простите, если вспылила.  ^-^
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор web1

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

Автор Benderalfa

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

Автор illimited

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

Автор Игарь

Ответов: 39
Просмотров: 7201
Последний ответ 20.11.2021, 18:17:12
от Byzi
Google отображает не все URL

Автор Игарь

Ответов: 3
Просмотров: 1424
Последний ответ 18.08.2020, 06:14:22
от Cedars