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

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
Добрый день. Возник у меня один вопрос еа счет подбора ключей. У меня сайт обхватывает большую тему "бар" самое основное это рецепты алкогольных коктейлей - тут все ясно. Но как мне быть с кучей других тем. Глинтвейн, весомый раздел про кофе, чай, десерты, энциклопедия, которая содержит кучу разного материала. как быть тут при составлении семантического ядра? стоит сосредоточиться на основном материале или обхватить вообще весь? и еще один вопросик, как оптимизировать и продвигать рецепты, ведь в них мало текста, в основном только ингредиенты
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Добрый день. Возник у меня один вопрос еа счет подбора ключей. У меня сайт обхватывает большую тему "бар" самое основное это рецепты алкогольных коктейлей - тут все ясно. Но как мне быть с кучей других тем. Глинтвейн, весомый раздел про кофе, чай, десерты, энциклопедия, которая содержит кучу разного материала. как быть тут при составлении семантического ядра? стоит сосредоточиться на основном материале или обхватить вообще весь? и еще один вопросик, как оптимизировать и продвигать рецепты, ведь в них мало текста, в основном только ингредиенты
Если сайт уже наполнен, то вам нужно идти в обратном порядке. Не составлять ядро для сайта, а на основании контента на сайте составить ядро. Как продвигать рецепты? Так а с каких это пор количество текста стало влиять на его релевантность? Главное что бы не было много. А так, вам доступны все методы продвижения. Нечего особенного.
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
как так на основании сайта сделать ядро. проведи аналогию пожалуйста если не трудно
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Да что тут проводить.. Это нужно понимать... Семантическое ядро напрямую отображает контент сайта (должно так быть). По правильному - сначала составляется ядро сайта а потом под него пишется контент. С учетом фраз, ожидаемых запросов и тд тп.. Т.е если у вас уже есть сайт с контентом по направленности к примеру мебель. То ясно что ядро не может содержать направленность - сантехника.
*

Webb

  • Захожу иногда
  • 304
  • 19 / 2
  • rusinmd
Да что тут проводить.. Это нужно понимать... Семантическое ядро напрямую отображает контент сайта (должно так быть). По правильному - сначала составляется ядро сайта а потом под него пишется контент. С учетом фраз, ожидаемых запросов и тд тп.. Т.е если у вас уже есть сайт с контентом по направленности к примеру мебель. То ясно что ядро не может содержать направленность - сантехника.

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

Добрый день. Возник у меня один вопрос еа счет подбора ключей. У меня сайт обхватывает большую тему "бар" самое основное это рецепты алкогольных коктейлей - тут все ясно. Но как мне быть с кучей других тем. Глинтвейн, весомый раздел про кофе, чай, десерты, энциклопедия, которая содержит кучу разного материала. как быть тут при составлении семантического ядра? стоит сосредоточиться на основном материале или обхватить вообще весь? и еще один вопросик, как оптимизировать и продвигать рецепты, ведь в них мало текста, в основном только ингредиенты

Если много всего но относящееся к чему то общему, нужно продумывать иерархию сайта,
- каталог - подкаталог
- раздел - подраздел

например -

Напитки

-алко 

-вино - пиво - коньяк-

-вино - ...
-пиво..
-коньяк..

-безалко

-вода - соки - морс-

-вода...
-соки..
-морс..

Но нужно помнить об перелинковке, чтоб поисковики могли беспрепятственно попадать на глубокие страницы и определиться какие страницы конкретно двигать.

Если есть такое запрос - рецепт глинтвейна, надо как то разбавлять ингредиенты этим запросом, копирайтеры на что.

Как то так.
*

ART-DELI

  • Давно я тут
  • 801
  • 75 / 9
  • Не успеешь ты – сделают другие.
Почему это я должен ограничиваться тем что уже есть на сайте?
Если тематика сайта позволяет его расширить, то бишь не все запросы изначально были учтены при составлении сем.ядра, что мешает добавить новые страницы с контентом?

Если много всего но относящееся к чему то общему, нужно продумывать иерархию сайта,
- каталог - подкаталог
- раздел - подраздел

например -

Напитки

-алко 

-вино - пиво - коньяк-

-вино - ...
-пиво..
-коньяк..

-безалко

-вода - соки - морс-

-вода...
-соки..
-морс..

Но нужно помнить об перелинковке, чтоб поисковики могли беспрепятственно попадать на глубокие страницы и определиться какие страницы конкретно двигать.

Если есть такое запрос - рецепт глинтвейна, надо как то разбавлять ингредиенты этим запросом, копирайтеры на что.

Как то так.

Ну также вы не сказали что вы хотите расширить контент на сайте и захватить дополнительные варианты направленности. Я писал исходя из того, что контент сформирован и направленность определена.
*

lilsaint5800

  • Захожу иногда
  • 87
  • 1 / 0
  • Джизос
webb спасибо, идею понял. перелинковкой сейчас занимаюсь
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Составляю семантическое ядро, где конкретно нужно прописывать слова?

Автор Руслан Н.

Ответов: 9
Просмотров: 2020
Последний ответ 24.02.2017, 00:30:44
от ELLE
Индексация слов находящихся в каталоге сайта

Автор Briz1

Ответов: 1
Просмотров: 1042
Последний ответ 25.07.2015, 12:19:32
от ELLE
Семантическое ядро

Автор Mick_20

Ответов: 1
Просмотров: 1722
Последний ответ 11.11.2013, 16:59:34
от ELLE
Семантическое ядро

Автор Den81

Ответов: 22
Просмотров: 3784
Последний ответ 07.11.2011, 04:06:46
от skai
Посещаемость сайта, семантическое ядро, счетчик

Автор prossvika

Ответов: 9
Просмотров: 2595
Последний ответ 15.01.2011, 06:25:00
от dipal