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

vladzt

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • Безпека Профи
ПроблемА !
Joomla! 1.5.22 Stable.
Главная страница работает, а при попытке перейти на любую внутреннюю страницу получаю:

Forbidden
You don't have permission to access / on this server.
Apache Server at topcheapmed.com Port 80

Техподдержка ответила следующее: "При обращении к страницам сайта происходит перенаправление на сторонний ресурс topcheapmed.com, где сервер отвечает с ошибкой 403."

 !  Что делать ?   !
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
включите стандартный шаблон милкивей, а все остальные сносите - поверьте, очень много времени себе сэкономите!
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

vladzt

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • Безпека Профи
Включил стандартный шаблон. Проблема не ушла...  !
Отзовитесь, джумляне.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
где ссылка на сайт?
возможно взломали сайт
*

vladzt

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • Безпека Профи
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Смотрим исходный код и видим)
Код
</body>
</html>
<div style="font:0px Trebuchet MS; color:#AAA98;">
<a href="http://www.escortaraankara.org/ankara-escortlar/" title="ankara escort">ankara escort</a>
<a href="http://www.ankaraescortv.biz/escort-bayanlar-ankara/" title="escort ankara">escort ankara</a>
<a href="http://www.ankaratcescort.org/escortbayanlar/escort-kizlarin-ozellikleri/" title="escort bayan ankara">escort bayan ankara</a>
<a href="http://www.escortlarankara.asia/ankarada-escort-kizlar/" title="escort ankara ilan">escort ankara ilan</a>
<a href="http://www.ankarambayanescort.com/eskort-bayan-ankara/" title="escort kizlar ankara">escort kizlar ankara</a>
<a href="http://www.escortelitankara.net/escort-bayanlar-ankara.html/" title="escort bayan escort">escort bayan escort</a>
<a href="http://www.ankarabayankuafor.com/irkci-saldiri/" title="ankara escort">ankara escort bayan</a>
<a href="http://www.ankaragecehayati.net/jamaikali-2016-da-son-kez-kosacak/" title="ankara elit escort">ankara escort</a>
<a href="http://www.ankarakiralikdaire.gen.tr/?p=7/" title="ankarada escortlar">ankarada escortlar</a>
<a href="http://ankaraotoyikama.net/fenerbahceye-vefa-kucuk-aday/" title="escortlar ankara">escortlar ankara</a>

Прямая дорога в раздел по безопасности или к специалисту в поисках шелов и всякой всячины)
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
index.php в корне сайта замени, или почисть.И обнови до 1.5.26
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
index.php в корне сайта замени, или почисть.И обнови до 1.5.26
да это не поможет, там 100% уже куча шелов сидит
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Чистить надо, однозначно.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
да это не поможет, там 100% уже куча шелов сидит
Да ладно пугать юзера. Из опыта личного- сайт весом 6 гиг, из них 5.5 картинки, редирект был только в .htaccess.
*

wishlight

  • Гуру
  • 5059
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
А как .htaccess подменили? Пароли Ftp покрали что ли?
*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
А как .htaccess подменили? Пароли Ftp покрали что ли?
Я раньше тоже верил, что сайт могут взломать только если узнают пароль ftp.
*

wishlight

  • Гуру
  • 5059
  • 315 / 1
  • От 300 руб быстрый хостинг. Сервера.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Да ладно пугать юзера. Из опыта личного- сайт весом 6 гиг, из них 5.5 картинки, редирект был только в .htaccess.

Если шел не найти, то редиректы каждый день придется убирать.
А он может быть и в exif поле изображений.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

vladzt

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • Безпека Профи
Возвращаюсь к вопросу. С редиректом я так и не поборолся. Нашел старую резервную копию сайта. Восстановил. Сайт почти нормально заработал (Ура!). Но потерялся вход в панель управления.
Цитирую:
Fatal error: Call to a member function get() on a non-object in /home/v/vladzt/bezpeka.zt.ua/public_html/administrator/templates/khepri/login.php on line 35
А вот и те самые строки:
...
35  <?php  if($this->params->get('useRoundedCorners')) : ?>
36     <link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/rounded.css" />
37  <?php  else : ?>
38     <link rel="stylesheet" type="text/css" href="templates/<?php echo $this->template ?>/css/norounded.css" />
39  <?php  endif; ?>
...
Подскажите, как быть?  !

*

draff

  • Гуру
  • 5801
  • 434 / 7
  • ищу работу
перезалить файлы Joomla, кроме папки /installation
*

vladzt

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
  • Безпека Профи
перезалить файлы Joomla, кроме папки /installation
Спасибо за подсказку.
Прошу уточнить: в смысле - нужно поставить новую Joomla?.. Пожалуйста, поясните подробнее.
*

Aleks_El_Dia

  • Moderator
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Спасибо за подсказку.
Прошу уточнить: в смысле - нужно поставить новую Joomla?.. Пожалуйста, поясните подробнее.
Нет, всего лиш перезалить все файлы и папки. Если на сайте не было хаков ядра - боятся вообще нечего.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дубль главной страницы - site.ru/# - и другие...перенаправление, роботс, источник?

Автор Adrian1111

Ответов: 2
Просмотров: 1277
Последний ответ 02.04.2014, 16:16:06
от espey
Перенаправление запросов

Автор jumlach

Ответов: 0
Просмотров: 1174
Последний ответ 23.10.2013, 18:44:40
от jumlach
Как перенаправление сайта?

Автор Юрий_1986

Ответов: 2
Просмотров: 1118
Последний ответ 31.07.2013, 11:39:36
от Юрий_1986
Ссылка из материала на локальный сетевой ресурс

Автор Gnom41k

Ответов: 1
Просмотров: 1425
Последний ответ 23.01.2013, 13:48:00
от Gnom41k
перенаправление с одного сайта на другой

Автор permstyle

Ответов: 4
Просмотров: 4235
Последний ответ 02.07.2012, 12:09:56
от permstyle