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

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Собственно есть сайт на Joomla 2.5 В нем есть категория скажем "Хонда", а в ней с десяток статей
1.Как выбрать автомобиль Хонда
2.Автомобиль Хонда общая информация, характеристики, комплектации (я хочу двигать эту статью)
3. Ремонт автомобиля Хонда
и т.д.
Практически с каждой статьи я даю ссылки с анкором на продвигаемую статью №2, анкор текста "Хонда"
В итоге по категории по запросу "Хонда" у меня релевантен не продвигаемый текст на который я даю анкоры, а категория.
Проверял при помощи программ по перелинковке, наибольший статический вес имеет категория.
Ну как же так ?? все ссылки замыкаются на определённую статью, а в итоге получается что у них у всех примерно равный статический вес.
Тут даже ни одна схема перелинковки не помогает. В чём проблема ?

Вопрос немного конечно не по теме форума, но он имеет прямое отношение к движку моего сайта

Это особенность движка или баг?? или у меня руки из попы растут.
*

arma

  • Завсегдатай
  • 1752
  • 81 / 3
Уж точно движок здесь ни при чём
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
а почему тогда при перелинковке статический вес концентрируется на категории, а не на статье на которую ведут ссылки ?
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
Текстовка хоть нормальная, не накопипастенная? а то получится много лишних движений!!))
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Всё пишу сам, так как всё видел своими глазами, даже фотографии почти все свои использую. Так это к делу не относится. Вопрос о концентрации статического веса на продвигаемой странице, а не на категории.
« Последнее редактирование: 29.06.2013, 14:07:37 от makarovse »
*

arma

  • Завсегдатай
  • 1752
  • 81 / 3
Ну может программы врут, тяжело говорить не видя
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
это может быть связано с плагином хлебные крошки (он одноимённым анкором ведёт на категорию во всех статьях)?
« Последнее редактирование: 29.06.2013, 14:28:25 от makarovse »
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Веса передаются по ссылке, без разницы каким образом они у вас формируются на странице - плагином ли, модулем ли, компонентом ли; а также вне зависимоти от названия этого блока - "хлебные крошки" ли, "похожие материалы" ли, "читайте также" ли и т.д. :)

Растолкованный PageRank,
или Все, что вы всегда хотели знать о PageRank
Переведено на русский язык и прокомментировано Александром Садовским
« Последнее редактирование: 29.06.2013, 18:55:17 от ELLE »
*

Rival

  • Захожу иногда
  • 188
  • 16 / 0
Добавьте текст(статью) в категорию и  продвигайте ее. Это будет лучше чем пытаться переучить пс.
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
да да я так и сделал. категории высоко ранжируются, а перебить релевантность очень тяжело
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
а может кто то сказать как сосредоточить максимум веса перелинковкой  на определённой странице ?
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
а может кто то сказать как сосредоточить максимум веса перелинковкой  на определённой странице ?
линковать со страниц с наибольшим весом - главная, разделы
снизить кол-во ссылок на нужной странице, чтобы она не отдавала вес никуда, или отдавала минимум

Цитировать
Практически с каждой статьи я даю ссылки с анкором на продвигаемую статью №2, анкор текста "Хонда"
чем выше уровень вложенности страниц доноров, тем меньше они могут отдать веса и/или даже получить

и такой вопрос - а зачем вообще по такому запросу продвигать страницу третьего уровня? т.к. по логике это и должна быть категории, как у вас сейчас и есть; то есть мне непонятно зачем вы с этим боретесь, в принципе.
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Я не борюсь, я пытаюсь просто понять техническую сторону вопроса так сказать.
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Распределяя вес, не забудьте о поведенческих факторах. Ибо люди переходящие по этой вашей ссылке "хонда" дадут ей больше веса, чем вся сплошная перелинковка всех хонд на всем сайте. А если эта хонда никому не нужна, тот тут поисковик выберет на свое усмотрение, руководствуясь не только теоретическим весом, но другими своими параметрами, такими как показатель отказов.
Что там за хонда такая, уверены, что меня как владельца одной из хонд заинтересует эта ссылка? Проверим?
« Последнее редактирование: 30.06.2013, 00:08:40 от ChaosHead »
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
У меня сайт другой тематики, а Хонда я привел в качестве примера, о чём и написал в посте
Цитировать
В нем есть категория скажем "Хонда", а в ней с десяток статей
Вообще внутренние ссылки, которые я даю на продвигаемую статью тематичны и имеют прямое отношение в данной статье. Просто зайдя на сайт по запросу скажем "Хонда" человек увидит не статью которая рассказывает про этот бренд автомобиле и т.д, которые производит эта компания, а Видит категорию где большое количество статей (он скорее всего не будет искать в этих статьях ответ на свой вопрос, а просто покинет сайт речь идёт об этом)
« Последнее редактирование: 30.06.2013, 00:59:48 от makarovse »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Есть такое слово - проектирование сайта.
И об этом надо думать еще перед его созданием.
*

makarovse

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

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
Вопрос собственно а чем вы вес страницы меряете?
И по запросу в Google site:moysite.ru какие страницы выше?
Можно тут ещё померять: http://audit.megaindex.ru
*

aisamiery

  • Осваиваюсь на форуме
  • 10
  • 2 / 0
  • Proprietary Developer
Вопрос собственно а чем вы вес страницы меряете?

Например этим вес меряют http://www.page-weight.ru/

А ещё есть такие штуки, называются схемы перелинковки. Они никак не относятся к тому какие страницы в Google или тем более никак не относятся к поведенческим факторам.

А автору совет - убирай все лишнее с страниц с которых даешь анкоры, все модули левые которые генерят не нужные тебе ссылки подгружай аяксом, были проекты где мы на всех страницах кроме главной меню через AJAX подгружали на сайт (но это ради кейса делалось, как эксперимент)
*

Kalipso

  • Захожу иногда
  • 89
  • 0 / 1
А автору совет - убирай все лишнее с страниц с которых даешь анкоры, все модули левые которые генерят не нужные тебе ссылки подгружай аяксом, были проекты где мы на всех страницах кроме главной меню через AJAX подгружали на сайт
То есть поисковики до сих пор не научились отличать ссылки из меню от обычных ссылок? На кой ляд тогда вообще выпускаются все эти модули "Последние новости", "Самое популярное" и т.п., причём как в коробке с движком, так и отдельно? Это СЕО-враги делают?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Вы забываете самую главную вещь, сайты делают для людей, и модули делают для людей.
*

Kalipso

  • Захожу иногда
  • 89
  • 0 / 1
Вы забываете самую главную вещь, сайты делают для людей, и модули делают для людей.
Так вот и я о том же: если поисковики настоятельно рекомендуют делать сайты для людей, а подобные модули делаются именно для людей, для удобства доступа к тем или иным образом отсортированной информации, то неужели сами же эти поисковики так уж радикально разбавляют вес страницы из-за модуля или меню?..
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Никак не могу вернуть страницы в индекс Google

Автор demyan

Ответов: 0
Просмотров: 902
Последний ответ 04.10.2016, 15:07:13
от demyan
В статье есть товар с крат. описанием, у товара своя страница с полн. описанием. Как избежать дубля?

Автор ice99

Ответов: 0
Просмотров: 835
Последний ответ 05.06.2016, 14:08:45
от ice99
Обновление версии движка сайта и поисковики

Автор RezistoR

Ответов: 2
Просмотров: 1032
Последний ответ 18.12.2015, 16:20:08
от ChaosHead
Тег robots - ставить в пункте меню или в статье?

Автор Аня

Ответов: 3
Просмотров: 1018
Последний ответ 09.11.2015, 18:56:52
от Аня
Доигрался с httpd.conf и.htaccess - не могу убрать перенаправление

Автор Arzamaks

Ответов: 0
Просмотров: 2055
Последний ответ 08.10.2015, 17:05:50
от Arzamaks