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

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Кто может сказать плохо или хорошо если в каждом title в конце присутствует название компании.
Например:

Австрия. Экскурсионные туры в Австрию. Цены на экскурисонные туры в Австрию -Джет Вояж

Германия. Экскурсионные туры в Германию. Цены на экскурисонные туры в Германию-Джет Вояж

Италия. Экскурсионные туры в Италию. Цены на экскурисонные туры в Италию-Джет Вояж


 и т.д.для каждой страницы.
Что то мне подсказывает, что так не совсем верно, но хотелось бы аргументов
« Последнее редактирование: 06.11.2011, 15:35:11 от skai »
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
Re: Title
« Ответ #1 : 05.09.2011, 19:53:25 »
1. Повторы уберите - в данном случае ПС может посчитать title спамным.
2. По поводу можно или нет - да, можно и нужно. Вместо названия компании лучше указывать название сайта - хотя не доказано, потому не утверждаю.
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title
« Ответ #2 : 05.09.2011, 20:00:52 »
1. Повторы уберите - в данном случае ПС может посчитать title спамным.
Sorry не понял, какие повторы?
Это 3  разных тайтла для трех разных страниц. Просто во всех тайтлах в конце присутствует название компании

Цитировать
2. По поводу можно или нет - да, можно и нужно. Вместо названия компании лучше указывать название сайта - хотя не доказано, потому не утверждаю.

Но разве это хорошо что во всех тайтлах присутствует одна и та же фраза ? Более того , на сколько я знаю, тайтл должен присутствовать в контенте страницы. А у нас в самом тексте то и нет названия компании, есть только описание курорта, страны ил еще чего либо...
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Title
« Ответ #3 : 05.09.2011, 21:38:50 »
Нормально, только экскурисонные - это очепятка?
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
Re: Title
« Ответ #4 : 05.09.2011, 23:47:38 »
Sorry не понял, какие повторы?
Это 3  разных тайтла для трех разных страниц. Просто во всех тайтлах в конце присутствует название компании
- повторы это: Австрия. Экскурсионные туры в Австрию. Цены на экскурсионные туры в Австрию

В идеале должно быть так:
стр.1 - <h1>Австрия</h1>     Title: Австрия | домен/компания
стр.2 - <h1>Экскурсионные туры в Австрию</h1>      Title: Экскурсионные туры в Австрию | домен/компания
стр.3 - <h1>Цены на экскурсионные туры в Австрию</h1>     Title: Цены на экскурсионные туры в Австрию | домен/компания

---
P.S.
и ещё раз: По поводу названия/домена можно или нет - да, можно и нужно.
« Последнее редактирование: 05.09.2011, 23:52:52 от skai »
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title
« Ответ #5 : 06.09.2011, 00:28:43 »
Нормально, только экскурисонные - это очепятка?
Прошу прощения. Конечно оЧепятка...
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title
« Ответ #6 : 06.09.2011, 00:32:15 »
- повторы это: Австрия. Экскурсионные туры в Австрию. Цены на экскурсионные туры в Австрию

В идеале должно быть так:
стр.1 - <h1>Австрия</h1>     Title: Австрия | домен/компания
стр.2 - <h1>Экскурсионные туры в Австрию</h1>      Title: Экскурсионные туры в Австрию | домен/компания
стр.3 - <h1>Цены на экскурсионные туры в Австрию</h1>     Title: Цены на экскурсионные туры в Австрию | домен/компания

---
P.S.
и ещё раз: По поводу названия/домена можно или нет - да, можно и нужно.

Прошу прощения. Аргументы есть, или это просто Ваше IMHO?  Просто от преподавателей по SEO я слышал другое.
Еще раз хочу уточнить, что я никого не "уличаю", просто хочу на основе сбора информации добиться некой истины :-)
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Title
« Ответ #7 : 06.09.2011, 00:40:36 »
Извиняюсь за вмешательство...

skai, а если нет возможности разбить на 3 страницы, то можно допустим использовать такой title
 
Austria. Экскурсионные туры в Австрию - обзор, цены, отзывы | Джет Вояж
или так например
Austria. Экскурсионные туры в Австрию - лучшие цены от Джет Вояж
« Последнее редактирование: 06.09.2011, 00:47:49 от Katerina01 »
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title
« Ответ #8 : 06.09.2011, 00:56:20 »
Извиняюсь за вмешательство...

skai, а если нет возможности разбить на 3 страницы, то можно допустим использовать такой title
 
Austria. Экскурсионные туры в Австрию - обзор, цены, отзывы | Джет Вояж
или так например
Austria. Экскурсионные туры в Австрию - лучшие цены от Джет Вояж


Да не то чтобы нет возможности, но зачем? Просто в каждом действии должен быть смысл.
Я спросил очень конкретно, а мы начинаем понемногу уходить от главного вопроса.
Я бы с удовольствием указал тут адрес сайта, чтобы в реалии послушать советы,но боюсь модераторы посчитают за рекламу, хотя в рекламе (таким способом) этот портал не нуждается.
И все таки меня смущает присутствие  в  каждом тайтле упоминания компании.
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Re: Title
« Ответ #9 : 06.09.2011, 01:21:52 »
Цитировать
мы начинаем понемногу уходить от главного вопроса
Уж простите меня, поэтому пост начала с извинения (: т.к. нюанс про спам в title очень интересен.

По поводу писать ли в конце title название компании или нет,- каждый для себя решает сам.
Могу выразить свою точку зрения (если интересно) по этому вопросу.
На самом деле на начальном этапе продвижения я бы этого не делала, особенно если компания новая и никому не известна. А также это просто будет засорять title. Чем меньше слов в тайтл, тем больший вес они имеют, конечно при условии 100% релевантности к тексту документа. Лично я начинаю вписывать название компании/домен в тайтл страниц 2-3 уровня только после того, как пользователи начинают искать сайт по этому названию. Вот в принципе и все.
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title
« Ответ #10 : 06.09.2011, 10:36:11 »
... конечно при условии 100% релевантности к тексту документа....

Ну вот и я же об этом... Если в контексте страницы нет упоминания названия компании какая же тут релевантность ?
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
Re: Title
« Ответ #11 : 06.09.2011, 11:48:05 »
Прошу прощения. Аргументы есть, или это просто Ваше IMHO?  Просто от преподавателей по SEO я слышал другое.
Еще раз хочу уточнить, что я никого не "уличаю", просто хочу на основе сбора информации добиться некой истины :-)

Дело ваше. У меня аргумент один - личный опыт. Вы спросили - я ответил. Не нравится - делайте по своему. Удачи!
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Ielts

  • Захожу иногда
  • 356
  • 3 / 13
Re: Title
« Ответ #12 : 06.09.2011, 21:15:57 »
Дело ваше. У меня аргумент один - личный опыт. Вы спросили - я ответил. Не нравится - делайте по своему. Удачи!
Спасибо за развернутый ответ :-). Можно узнать, что получит клиент заплатив $50 за SEO анализ ?
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
Re: Title
« Ответ #13 : 06.09.2011, 23:51:43 »
Можно узнать, что получит клиент заплатив $50 за SEO анализ ?
- результат который удовлетворит клиента, тот ради которого он вообще делал и делает сайты, + бесценный опыт. Есть небольшое но - ценник устарел и я забываю его сменить - сейчас он равен 100$. Однако, учитывая вашу фразу «от преподавателей по SEO я слышал другое», вряд ли вы готовы воспринимать действительные инструкции к действию - вы же убеждены в правоте своих преподавателей теоретиков, а я не трачу своё время впустую и не беру денег с людей которым нельзя помочь. Так же я не беру денег с клиентов с новыми сайтами и с клиентов попавших в затруднительные положения в связи выполнением советов seo теоретиков (бан, фильтры и т.п.), и в данном случае помогаю бесплатно, когда на то есть время (не часто оно есть).

Принцип предоставления услуги: сначала анализ, рекомендации, инструкции - потом деньги. Ещё небыло случая что бы кто-то остался недоволен или не заплатил.
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Re: Title
« Ответ #14 : 07.09.2011, 02:40:32 »
Как в рекламе Визы - есть вещи которые бесценны, в том числе и опыт.
И расписать тут нереально.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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

Автор Gosha5767

Ответов: 0
Просмотров: 4792
Последний ответ 08.07.2025, 17:19:50
от Gosha5767
Дополнительное название домена в Google

Автор web1

Ответов: 1
Просмотров: 2035
Последний ответ 18.12.2023, 12:56:21
от SeBun
вопрос к решению из FAQ. Вместо отсутствия ссылки отсутствует название активного пункта меню

Автор Loh

Ответов: 5
Просмотров: 2344
Последний ответ 10.04.2022, 11:04:26
от fiksius
Как вывести в сниппете название статьи, а потом название сайта?

Автор gorbi_U

Ответов: 0
Просмотров: 1092
Последний ответ 18.01.2022, 18:29:22
от gorbi_U
Яндекс не индексирует вообще картинки с сайта

Автор Девушка с веслом

Ответов: 6
Просмотров: 1250
Последний ответ 10.05.2021, 17:21:18
от xpank