Новости 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 Ответов
  • 1298 Просмотров
*

Serebro2009

  • Захожу иногда
  • 135
  • 0 / 0
Суть проблемы: в первых числах августа произошел апдет поисковой выдаче. В Вебмастере яндекса - обнаружил что количество проиндексированных страниц возраслов 1000 раз. Индексируются дубли которых оказалась просто НЕМЕРЯНО. Адреса подобные:

http://site.рф/index.html/snegohody/motowezdehod/snegohody/motowezdehod/snegohody/articles/articles/dokumentacija/motobuksirovshhik_volgar_peredneprivodnyj/motobuksirovshhik_volgar_peredneprivodnyj.html

и так далее.

Платон ответил:

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

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

Я замечу, что сайт стоит на чистом HTML уже не первый год...подобного не было, сторонние расширения не ставил. В чем проблема?


*

Serebro2009

  • Захожу иногда
  • 135
  • 0 / 0
Какой плагин? HTML чистый,
Лучше посоветуйте как запретить в роботс к индексации страницы начинающиеся с http://site.рф/index.html/
*

Serebro2009

  • Захожу иногда
  • 135
  • 0 / 0
Что за ерунда, еще три тысячи страниц добавились в индекс...как так-то
*

ChaosHead

  • Гуру
  • 5242
  • 451 / 13
У Joomla проблема с дублями, она показывает контент по разным адресам, а вас возможно хотят конкуренты так песимизировать. Ставьте плагин, что выше написали.
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
У Joomla проблема с дублями
Да он не по адресу. У него не Жумла, а статичные странички на HTML.

ТС, сколько всего страниц на сайте? Настраивайте htaccess так, что бы отдавал только запрашиваемые, на остальные - 404 ошибка, иначе вылетите из поиска. Или переносите все на Joomla, она имеет в своем арсенале расширения, решающие данную проблему.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Филипп Сорокин

  • Завсегдатай
  • 1918
  • 160 / 4
  • разработчик.москва
В robotx.txt прописываете:

Код
Disallow: /index.html/
*

annushka

  • Захожу иногда
  • 148
  • 2 / 0
  • Joomla!
Ищите, откуда на эти страницы на вас ссылаются. Проанализируйте входящие ссылки.
Конкуренты, возможно, вас так из выдачи выжимают, ссылки на несуществующие страницы размещая, а после индексации снимая.
Можно вручную страницы и разделы в Я-вебмастере из индекса удалить и роботс, конечно же, подправить.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Какой плагин? HTML чистый,
юморите? :) как на чистом HTML могут быть такие дубли? :) кто у вас за роутинг отвечает? .htaccess?

что отдает страница http://site.рф/index.html/snegohody/motowezdehod/snegohody/motowezdehod/snegohody/articles/articles/dokumentacija/motobuksirovshhik_volgar_peredneprivodnyj/motobuksirovshhik_volgar_peredneprivodnyj.html
, какой код? код главной страницы? сайт покажите
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
В robotx.txt прописываете:

Код
Disallow: /index.html/
что то типа такого, но не спасет полностью. есть же и другие страницы HTML, к ним тоже смогут цеплять хвосты. надо иначе, чтобы универсально для всех страниц, но для начала надо понять, как это возможно на "чистом html" :)
« Последнее редактирование: 15.10.2016, 22:30:28 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

shurakana

  • Давно я тут
  • 792
  • 50 / 6
У Joomla проблема с дублями, она показывает контент по разным адресам, а вас возможно хотят конкуренты так песимизировать. Ставьте плагин, что выше написали.
Много раз слышал об этом, как воспроизвести эти дубли? у меня ни на одном сайте их нет. Имею ввиду в индекс..)

юморите? :) как на чистом HTML могут быть такие дубли? :) кто у вас за роутинг отвечает? .htaccess?
это html6..))
Эта подпись отображается внизу каждого Моего сообщения. Я также могу использовать BB код и смайлы.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Много раз слышал об этом, как воспроизвести эти дубли? у меня ни на одном сайте их нет. Имею ввиду в индекс..)
это html6..))
руками пишите в адресной строке index.php/и дальше что угодно - вот вам и дубли

это html6..))
а, ну да, ну да...
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Насколько я вижу, все уже в порядке у ТС. Сайт он пересобрал на Joomla, все уже переиндексировалось и с виду дублей в индексе нет.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
загадка осталась без отгадки... ну и ладно :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
А кстати можно глянуть на чем у него был сайт...)
Спойлер
[свернуть]
В кеше уже нет ничего, глянем в вебархиве
 
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Короче, на святом духе и честном слове сайт держался....
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Да нет) Вроде как на самом деле на html) Может, хостинг сломали или какие иные проблемы на онном) Так-то если все ровно настроено и не было вмешательства извне, то на такие запросы, сервер должен 404 отдавать без лишних телодвижений со стороны вебмастера)
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
на ум приходит только сервер на голом apache, без nginx, что само по себе странно. или еще более фантастический вариант - nginx настроенный таким образом, чтобы HTML проксировать на апач. что вообще бред :) ну и плюс все таки должно быть что то, что такой роутинг отработает. версия со взломом очень вероятна... а судя по тому, что это голый HTML, то если версия со взломом подтвердится - то поломали скорее всего не серверную сторону, а утянули например пароль от ftp... а это значит что ломатели могут и вернуться... ТС, я бы наверное поднял бекапы и отдал бы их на анализ, если самостоятельно сомневаетесь. сайт, логи сервера, и т.п.
« Последнее редактирование: 16.10.2016, 00:47:46 от dmitry_stas »
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Какой домен лучше выбрать для нового интернет-магазина: com или com.ua?

Автор Anton shop

Ответов: 10
Просмотров: 1922
Последний ответ 22.11.2021, 22:24:10
от wishlight
Какой почтовый адрес указать сайту, работающему на всю Россию?

Автор ChaosHead

Ответов: 7
Просмотров: 1044
Последний ответ 05.02.2018, 04:04:05
от capricorn
Какой url товара лучше с категорией или без?

Автор fominmen25

Ответов: 3
Просмотров: 1260
Последний ответ 30.12.2017, 15:35:49
от Sambiz2
Избавляемся от дублей страниц с помощью 301 редиректа

Автор Efanych

Ответов: 194
Просмотров: 122492
Последний ответ 20.11.2017, 19:41:04
от Barmens
SSL сертификат, какой выбрать?

Автор Mehanick

Ответов: 34
Просмотров: 3247
Последний ответ 29.09.2017, 21:49:12
от Septdir