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

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
SK, да, по всей видимости файл перезаписывается только при обновлении через  com_joomlaupdate
Сейчас тоже установила пакет через менеджер - роботс цел.
Еще раз попробовала через кнопку автообновления в админке - роботс затерается
Первый пост уточнила)
« Последнее редактирование: 20.09.2012, 17:49:01 от ELLE »
*

AlexSmirnov

  • Завсегдатай
  • 1862
  • 272 / 16
  • Ищите и найдете
Напрашивается логический вывод: функция обновления системы из-под панели администратора загружает и распаковывает полную версию Joomla, в то время как патч - только те файлы, которые в новой версии притерпели изменение.
# Back the fufalo (особенно ту самую столкершу)! #
# ВАЖНО! Кайфую от удаления присланного в личку спама, почти как от любви (особенно по выходным). #
*

ELLE

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

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
я сочувствую тем, кто при обновлении потерял свои трудом и потом персонально настроенные файлы, но все же хочу указать на то, что файл robots.txt - это системный файл Joomla. Цель обновления именно в том и заключается, чтобы переписывать/заменять существующие файлы на новые. Нет переписывания - нет обновления.

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

SK

  • Живу я здесь
  • 2155
  • 164 / 0
Честно говоря, удивлен тем, что опытные люди используют в своей работе какие-либо автообновления.
При чем не важно какие, движка, операционки или еще чего.
Все должно быть под личным контролем, тем более, когда речь идет о рабочих проектах.
На предыдущих версиях Joomla, когда делал обновления, просматривал файловую структуру, на всякий случай.
На этой версии движка, 2.5, маленько расслабился, использую Менеджер расширений.
Но делать автообновление мне даже в голову не приходило.
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Честно говоря, удивлен тем, что опытные люди используют в своей работе какие-либо автообновления.
При чем не важно какие, движка, операционки или еще чего.
Все должно быть под личным контролем, тем более, когда речь идет о рабочих проектах.
На предыдущих версиях Joomla, когда делал обновления, просматривал файловую структуру, на всякий случай.
На этой версии движка, 2.5, маленько расслабился, использую Менеджер расширений.
Но делать автообновление мне даже в голову не приходило.
Ща прошлись по объектам - люди тупо автообновляются и все! вот так вот не подписываться на тех. поддержку))) хорошо, если кто-то из сеошников заметит))) а с другой стороны, откуда у сеошника бэкап?))))
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

tubus777

  • Захожу иногда
  • 278
  • 16 / 1
  • Дай - ка я посмотрю!
Ща прошлись по объектам - люди тупо автообновляются и все! вот так вот не подписываться на тех. поддержку))) хорошо, если кто-то из сеошников заметит))) а с другой стороны, откуда у сеошника бэкап?))))
Бэкап должен быть у хостера )))))))))))

А упрощение всего и вся - это тренд. Серьезные проекты конечно не обновляются на автомате. Я например тоже обновляюсь через денька 2-3 после выхода, когда вижу что на форумах нет шума наподобие - "аааа... обновился и все пропало!"
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Ну, ребят, тема создана для информирования, а не для разведения холивара  ^-^ на то есть флейм - можно там пообсуждать..

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

И кстати, на официальном сайте рекомендуют именно автообновление через Joomla Update или менеджер расширений, как более удобный способ нежели загрузка файлов по FTP - о том целый абзац на странице новой версии. А в случае неудачного обновления всегда можно взять бекап у хостера или сделать его самому и откатиться назад. Не думаю, что вы сверяете каждую строчку в патче прежде чем залить на сервер - прошли времена J1.5/1.0, когда еще "модно" было хакать ядро движка и так тщательно думать об обновлении.

*

jomdj

  • Захожу иногда
  • 64
  • 3 / 0
А мой робот в 2.5.7 девственно сохранен в том виде, в котором я его создал. Я особенный что-ли? =)
PS Хотя стоп. Прикол в том, что мне написала "есть новая версия" я обновил. а теперь пишет что по прежнему 2.5.6 и новых версий не найдено =)
*

ecolora

  • Завсегдатай
  • 1535
  • 171 / 2
  • творец
Спасибо, не знал. У меня там зеркало было прописано для Яндекса.
Я рифме друг словесной. Тут
Свой упражняю словоблуд:
Блог Ecolora
*

Rival

  • Захожу иногда
  • 188
  • 16 / 0
J2.5.8 тоже переписывает, видимо на всегда ввели фишку.
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Видимо, да.
Оставим тему пока прикрепленной, заголовок поправлю

« Последнее редактирование: 08.11.2012, 23:35:17 от ELLE »
*

neАdmin

  • Захожу иногда
  • 91
  • 4 / 0
поставил j3.0.1, изменил robots, скачал/поставил патч3.0.2(при чем robots.txt в патче присутствует)
пропатченая Joomla robots.txtне поменяла.
*

Biss

  • Давно я тут
  • 995
  • 101 / 0
При обновлении у каждого веб мастера на файл robots.txt стоят разные права (чтение/запись) поэтому у одних файл обновляется, у других нет.
п.с. теория не проверялась.
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
 :(
Черт  - Я SEO-шник и да меня чертовски взбесило это автообновление.
Ну замет так делать...
Пошел восстанавливать старые robots.txt на клиентских сайтах.... :'(
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
*

HiopsNerevar

  • Давно я тут
  • 630
  • 88 / 0
  • Я удобный.
И опять те же грабли. Разработчиков что, после первого раза еще на этих самых граблях не вздернули? Или они в забугорной вообще с роботс не заморачиваются.  :dry:
Это бидаль пича.
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
Не знаю, я уже привыкла, как будто так всегда и было ^^
*

Очередной вебмастер

  • Давно я тут
  • 768
  • 55 / 0
  • лысый умный дядя
Блин, они меня достали уже....  crazy!
Ладно сайтов не более 10...
Если еще и обновления через файлы обрубят, я их порву
Сайты на Joomla, разработка и поддержка
----------
Помог ответ - жми плюс!
*

Efanych

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

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
А там что, что-то дописывать надо? :)
Шучу, конечно.
Но реально последние сайтов 20 туда точно не лазил...
Как минимум часто нужно удалять строчку Disallow: images
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Как минимум часто нужно удалять строчку Disallow: images
Я только это и вспомнил, да ещё если фреймы, то ?templates=component закрывал когда-то.
Создание сайтов, шаблонов, помощь в решении проблем.
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Наверно не фреймы, а попап-окошки и tmpl=component
Ёще есть директивы host и sitemap
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Наверно не фреймы, а попап-окошки и tmpl=component
Ну, попап-окошки. Страницы левые вообще. Но они и так не разу в поиск не попадали.
Цитировать
Ёще есть директивы host и sitemap
Как-то про это и вовсе забыл. Сайтмап в вебмастере указывается. Хост через 301 редирект в htaccess.
Создание сайтов, шаблонов, помощь в решении проблем.
*

HiopsNerevar

  • Давно я тут
  • 630
  • 88 / 0
  • Я удобный.
 Да если глянуть файлы в архивах с патчами то складывается ощущение что они вообще не заморачиваются и берут полный дистр, удаляют ток картинки и выкладывают. ибо как еще объяснить что архив с патчем 2.5.8-2.5.9 весит столько же что и 2.5.х-2.5.9. и содержит почти весь дистрибутив.
Это бидаль пича.
*

strannik-yura

  • Давно я тут
  • 511
  • 44 / 1
  • :)
Да если глянуть файлы в архивах с патчами то складывается ощущение что они вообще не заморачиваются и берут полный дистр, удаляют ток картинки и выкладывают. ибо как еще объяснить что архив с патчем 2.5.8-2.5.9 весит столько же что и 2.5.х-2.5.9. и содержит почти весь дистрибутив.
тоже обратил внимания на это
раньше хоть было видно в каких файлах были изменения
*

strannik-yura

  • Давно я тут
  • 511
  • 44 / 1
  • :)
теперь делаю так, в скаченном обновление, удаляю robots.txt и после этого загружаю архив на сервер и распаковываю
*

jorevo

  • Давно я тут
  • 595
  • 13 / 1
А просто накатить обновку поверх достаточно - там никаких скриптов во время обновления не должно выполняться?
*

wishlight

  • Гуру
  • 5059
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
sql запросы к базе, если были обновления.
*

makarovse

  • Захожу иногда
  • 240
  • 2 / 0
Эх ребят ! если бы я эту тему обнаружил пару дней назад, перед обновлением версии!...........
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Роботу Googlebot заблокирован доступ в файле robots.txt

Автор illimited

Ответов: 3
Просмотров: 3766
Последний ответ 29.05.2022, 14:57:55
от web1
Правильный robots.txt? [вопросы/обсуждение]

Автор wishlight

Ответов: 447
Просмотров: 208134
Последний ответ 20.11.2021, 16:53:49
от Byzi
Как лучше прописать robots.txt?

Автор web1

Ответов: 2
Просмотров: 1108
Последний ответ 25.07.2021, 21:38:12
от web1
Разные robots.txt

Автор yyyuuu

Ответов: 7
Просмотров: 1147
Последний ответ 14.01.2021, 14:06:58
от rsn
Языки /en/ /ru/ проблема с входом в админку и редиректит на site.r/ru/robots.txt

Автор HolySong

Ответов: 0
Просмотров: 1029
Последний ответ 10.07.2020, 13:12:46
от HolySong