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

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Друзья, прошу доброго совета.

Год назад создал сайт, взял у хостера бесплатное имя (поддомен, типа -   мойсайт.тырыпыры.ru).  Не скажу что сайт мощный, но 200-250 посетителей в сутки есть (тема специфическая), с поисковыми системами полная гармония, по многим запросам в поисковиках на первых позициях. PR - 2, ТИЦ - 0.

Но тут хостер решил завести себе сайт. И присвоил ему имя - тырыпыры.ru. Сайт этот сразу заработал бан в Яндексе, а Yandex выкинул из индекса все поддомены, включая мой сайт.  Написал письмо хозяевам этого сайта, прошло две недели - реакции ноль. А у меня Яндекс сначала сделал 0 страниц в выдаче, а потом и загруженных - 0.  Но поисковый бот заходит регулярно.

Что делать? Ждать, пока горе-мастера разберутся со своим сайтом, или менять домен?  К тому же появился еще один нюансик - выдавая страницы в поиске,  Google к заголовкам моих статей добавляет название сайта главного домена.  
« Последнее редактирование: 01.10.2011, 21:44:24 от Барракуда »
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
конечно менять домен и делать постраничную переадресацию.
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Каждую страницу прописывать в роботс.тхт? Так там же полторы тысячи страниц!

А как же аудитория? Не потеряется? А ссылки, расставленные на других ресурсах?
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Все правильно,в .htaccess, я сам ошибся!
Но все же стоит ли овчинка выделки?  Через сколько времени я буду иметь те же результаты, что и до возникновения проблемы? И неужели  нет способа чтобы без каких либо хаков, без проблем перенаправить посетителей?
« Последнее редактирование: 01.10.2011, 23:30:05 от Барракуда »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Думаю можно сделать с одной стороны проще, с другой сложнее: сделать хак index.php который получает приходящий запрос, берет из него uri, подставляет к нему название нового домена и делает редирект. Сложность в том, что надо голову на пол-часа занять, простота в том, что хоть тысяча пятьсот, хоть миллион страниц трудозатраты одни и те-же.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Можно и компонент переезда сделать, но это дольше.
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
А разве не получится, если  301-й редирект с домена на домен прописать?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
А разве не получится, если  301-й редирект с домена на домен прописать?
Получится. Только не с домена на домен, а со всех страниц на аналогичные, только домен менять. Вот эти строки оставьте на старом сайте в .htaccess
Цитировать
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
Создание сайтов, шаблонов, помощь в решении проблем.
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
В смысле на старом сайте? Ведь сайт будет тот же, на том же хостинге, только доменное имя изменится. Имя поменяется в настройках сайта, в ISP менеджере и хостер поменяет название папки в public_html

Или надо будет оставить старый .htaccess?
« Последнее редактирование: 02.10.2011, 16:02:23 от Барракуда »
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
сайт будет тот же, на том же хостинге, только доменное имя изменится.
Цитировать
Yandex выкинул из индекса все поддомены, включая мой сайт.
И зачем вам тот же хостинг и снова на поддомене?
Создание сайтов, шаблонов, помощь в решении проблем.
*

Барракуда

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

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
А что касается хостера, то, в целом, он меня вполне удовлетворяет

после всего, что Вы тут понаписали? Да Вы, батенька, извращенец.

ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Да нет, тут другое, я лично знаком с инженером хостинга, поэтому он мои сайты размещает и  поддерживает там без проблем, места выделяет, сколько надо...  А вот доменами, поддоменами и проч.  он не рулит.  
« Последнее редактирование: 02.10.2011, 16:40:23 от Барракуда »
*

yuri-design

  • Давно я тут
  • 652
  • 76 / 5
Да нет, тут другое, я лично знаком с инженером хостинга,
Это, скорее всего халява , за которую вы не платите. Так ведь ;)
Ну пусть он напрягет программистов хоста и сделает все ОК.

Круг замкнулся ^-^
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Да вот как раз напрячь не получается...

Кстати, про старый сайт. А нужно ли сохранять старый сайт, т.е. кучу папок Joomla? А нельзя ли написать одну страничку в HTML и оставить вместо сайта? Вопрос только, получится ли  редирект  где-то прописать?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
А нельзя ли написать одну страничку в HTML и оставить вместо сайта? Вопрос только, получится ли  редирект  где-то прописать?
Оставить нужно только файл .htaccess с содержимым, которое я выше указывал
Создание сайтов, шаблонов, помощь в решении проблем.
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
В случае размещения нового сайта существующие на других ресурсах ссылки через редирект уже не будут давать вес моему сайту, я правильно понимаю? И как воспримут поисковики по отношению к новому сайту наличие  такого перенаправления?
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Цитировать
существующие на других ресурсах ссылки через редирект уже не будут давать вес моему сайту
Должны поидее.
Цитировать
И как воспримут поисковики по отношению к новому сайту наличие  такого перенаправления?
Да как. ХЗ. Обычный переезд. Но с учётом того, что хуже точно не будет...
Создание сайтов, шаблонов, помощь в решении проблем.
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
301 редирект сообщает поисковику, что такой-то страницы здесь нет, ищите ее там. Т.е. поисковые машины старые адреса исключат, а новые включат в поиск. Сколько же времени пройдет между первым и вторым?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
С другой стороны перенаправлять поисковиков с сайта, который находится под санкциями на новый рисковано, а не перейдут-ли санкции по наследству?
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Что же делать?
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
не жидить 150 р в месяц, взять нормальный хостинг и перенести сайт.
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Ссылку киньте на хорошего хостера
*

skai

  • Moderator
  • 1198
  • 153 / 1
  • skaiseo
Наполнение вашего сайта - 1т.р. стр. (текст, изображения, мета, перелинковка). Гарантия высокого ранжирования. SEO консультация в подарок.
----------------------------------------------------------------------------------------------
*

GoldennVoice

  • Захожу иногда
  • 210
  • 28 / 5
Любовь - продается, дружба - продается... Joomla - распространяется бесплатно по лицензии GNU GPL
 
Дневник
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено!] Изменились адреса старниц. Что делать?

Автор dron

Ответов: 14
Просмотров: 1312
Последний ответ 13.07.2020, 14:01:32
от dron
[Решено] Что делать с ошибочными урлами?

Автор dron

Ответов: 5
Просмотров: 1147
Последний ответ 11.04.2020, 12:01:15
от dron
Новая Windows 10S запрещает менять браузер и поисковик

Автор SeBun

Ответов: 13
Просмотров: 1278
Последний ответ 18.05.2017, 10:12:00
от umbabaraumba
Сайт в Топе а нет Трафика?что делать ?

Автор snepik

Ответов: 4
Просмотров: 1145
Последний ответ 21.09.2016, 19:47:23
от voland
Что делать с такими донорами?

Автор bronepoezd27

Ответов: 1
Просмотров: 1278
Последний ответ 26.08.2015, 21:06:06
от bronepoezd27