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

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Друзья, помогите. Ранее сайт по запросам "программы для ipad", "игры для ipad" выдавался в поисковике до 200 позиции. Сейчас по данным запросам пропал. Остался только по запросу "настройки ipad" причем на 32 поз. Подозреваю что статьи не индексируются, в веб- мастере яндекса все статьи написано что неканонические. Может ли быть такое и что делать? Вот мой сайт www.iloveipad.ru
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
А ранее - это когда? Сайту действительно 26 дней? Может, ещё не успели поисковики проиндексировать?
Бывает, что свежие сайты сразу же появляются в поиске, а потом резко проседают по позициям.

Если страницы неканонические, значит, это дубли. Вот здесь в самом низу указано, что вместо неканонических страниц проиндексированы канонические. А вот здесь можно отключить удаление из индекса неканонических страниц, только стоит ли?

У Вас стандартный ненастроенный robots.txt, в индексе страницы типа login, iloveipad.ru›?start=10 и т.п. Файл .htaccess, как понимаю, тоже ненастроен. В итоге - дубли страниц с www и без. У Главной, например, сразу же видно три пары, в итоге шесть одинаковых страниц:
iloveipad.ru
www.iloveipad.ru
iloveipad.ru/index.php
www.iloveipad.ru/index.php
iloveipad.ru/home.html
www.iloveipad.ru/home.html

И туда же:
на некоторых страницах по две пары тегов H1 и H2, на Главной H2 - вообще великое множество.
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Да, сайту 26 дней, но ранее по всем эти запросам он уже выдавался в индексе. А как все это исправить? И нужно ли из robots.txt удалить все стандартные строки disallow?
« Последнее редактирование: 22.05.2013, 09:33:27 от yunusov2706 »
*

Maxum

  • Давно я тут
  • 689
  • 32 / 1
Для начала вот в этом же разделе, где мы с Вами находимся, посмотрите прикреплённые темы (в самом верху) про избавление от дублей, про .htaccess, про robots.txt. Многие настройки уникальны для каждого сайта, нужно пробовать и искать свой вариант.
Disallow из стандартного robots.txt удалять не нужно, скорее всего, нужно будет добавлять ещё.
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Спасибо за совет. Пока что копаюсь с robots.txt. А дубли страниц я так понял надо через правку htaceess убирать? Типа склейка?
И как бороться с h1 и h2?
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Бороться не нужно, нужно использовать. H1 должен быть один на странице, заголовком страницы, не сайта.
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Все равно не могу понять, что у меня не так с h1 и h2. Куда смотреть, подскажите пожалуйста?))
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
audit.megaindex.ru сделай, он подскажет основные ошибки если есть
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
А вы занимаетесь оптимизацией? И такой вопрос, как узнать позиции в яндексе и Google по запросам, если сайт скорее всего не в сотне?
И не забанен ли он по фильтрам?

Сделал аудит, там пишут про h1 и h2 но просто я не понимаю, что с этим делать то? Если не жалко, подскажите. Description поправил сам.
« Последнее редактирование: 22.05.2013, 17:42:09 от yunusov2706 »
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Пример: захожу у вас в игру
<h1> RPG</h1>
<h2> Игра "Bastion" на iPad </h2>
для этого нужно исходный код посмотреть
А h1 и h2 - это даже к программированию не относится. Word откройте и там те-же h1 и h2 заголовки. Представьте что у вас документ про игру. Какой вы ей заголовок поставите, RPG?
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Ну так RPG это просто заголовок категории, а уже в категории RPG игры идут, например бастион этот. Название материала я пишу в заголовок материала при создании статьи в Joomla. А категорию присваиваю RPG, по-другому там никак не делается.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
по-другому там никак не делается.
Это ваш сайт, там делается так, как нужно вам, если только вам это нужно. Уговаривать я не буду.

Пример из жизни: Вы приходите в банк брать крупный кредит, вам работник банка протягивает стопку документов и говорит заполняйте их. Вы берёте документы, листаете, а на каждом из них крупными буквами написано "Кредитный отдел", "Кредитный отдел", "Кредитный отдел" и так на каждом. Вы спрашиваете, а почему у вас каждый документ называется "Кредитный отдел", мне так ничего непонятно, на что работник банка вам отвечает: "Ну так кредитный отдел - это просто название нашего отдела", а название документа там где-то ниже написано маленькими буквами.
« Последнее редактирование: 22.05.2013, 20:41:26 от ChaosHead »
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Я с вами согласен. ПРосто не получается сделать как хочу. Хотел чтоб название категории осталось при нажатии пункта меню, а при нажатии статьи - названия категории не было. Так когда убираю из статьи, то пропадает и из первого случая - при нажатии пункта меню не выводит.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
По всей видимости нужно подправить шаблон.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Основная причина, почему сайт не продвигается в поисковых системах - это не уникальный контент. Причем тут теги h1 или h2. Дубляж в Joomla давно известная проблема. Для ее решения есть много бесплатных и платных компонентов. ТС, вы должны понимать, что поисковые алгоритмы постоянно совершенствуются. Их цель работать на пользователя, а не на вас. На этом делается их бизнес. И то, что вас опустили в поиске, произошло не случайно.
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Я и написал изначально что вебмастерс яндекса указвает что все страницы с контентом не проиндексированы, т.к они неканонические.
То есть в индексаци попали только категории. Может поэтому я добавляю статьи, а они в топку просто висят и все. ПОэтому и рейтинг наверное падает, т.к. роботы считают что обновлений материала нет.
*

capricorn

  • Завсегдатай
  • 1949
  • 118 / 3
Цитировать
То есть в индексаци попали только категории. Может поэтому я добавляю статьи, а они в топку просто висят и все

Потому что у вас не уникальные статьи скорее всего. Google выкидывает из поиска такое, по одной простой причине, что их уже очень много у него.
*

yunusov2706

  • Захожу иногда
  • 90
  • 0 / 0
Но я сам все писал. А не может мешать тег canonical? И если да, то как его убрать? Вроде как надо закоментировать SEF.php стр.51 только там эта строка со скобками идет - вот и не пойму вместе со скобками закоментировать или то, что внутри?
« Последнее редактирование: 23.05.2013, 12:43:06 от yunusov2706 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор THE KILLERS

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

Автор AlexP750

Ответов: 2
Просмотров: 1188
Последний ответ 25.07.2021, 13:25:57
от AlexP750
Табы на CSS которые индексируется поисковиками

Автор robotwerder

Ответов: 2
Просмотров: 1060
Последний ответ 17.02.2021, 19:09:42
от beliyadm
Проблема с поисковиком

Автор Vismuth

Ответов: 6
Просмотров: 866
Последний ответ 09.11.2020, 13:51:26
от Vismuth
Языки /en/ /ru/ проблема с входом в админку и редиректит на site.r/ru/robots.txt

Автор HolySong

Ответов: 0
Просмотров: 1028
Последний ответ 10.07.2020, 13:12:46
от HolySong