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

busena2009

  • Новичок
  • 2
  • 0 / 0
Добрый день!

Устанавливаю плагин - выдает ошибку "JInstaller: :Install: Не удалось найти XML-файл установки"

извините, я ступила...установилось)
Что делать? 
Joomla 2.5+Virtuemart 2

Заранее спасибо)
*

shagimuratov

  • Осваиваюсь на форуме
  • 35
  • 2 / 0
Добрый день!

Смотрите инструкцию по ссылке,

https://cleantalk.org/install?platform=joomla15

Распакуйте архив со страницы, получите 2 новых арихва, один для Joomla 1.5, другой для Joomla 2.5-3.x. Вам нужен второрой, вот на него ссылка,

https://cleantalk.org/files/joomla/joomla25-3x-antispam-3.3.zip

Далее следуйте инструкции выше. Получилось?
*

Aleksandr.Razor

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Немного дополню информацию о сервисе.

  • Реализован механизм защиты любых форм на сайте.
  • Реализован Spam FireWall - блокирует спам ботов до того как они загрузят страницу сайта, чем может предотвратить любые атаки через HTTP/HTTPS от спам активных IP адресов и снизить нагрузку на веб сервер. https://cleantalk.org/cleantalk-spam-firewall
  • В Панели управления сервисом можно добавить IP/email в свои персональные Черные списки для защиты от спама или добавить их в список SFW для предотвращения атак.
  • Блокирование возможности оставить комментарий/зарегистрироваться пользователям из заблокированных стран.

Последнюю версию можно скачать в каталоге Joomla.
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
И вот как и ожидалось 550руб с сайта как с куста ^-^

Облачные нанотехнологии ^-^
Красота спасет мир, а пофигизм спасет нервы.
*

Aleksandr.Razor

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Здравствуйте!

CleanTalk дополнил некоторые функции.

1. Добавлена возможность использовать стоп слова для блокирования пользователей, в никнеймах которых есть определенные слова. Это позволит вам использовать сервис в том числе и для блокировки пользователей с нецензурными или содержащими рекламу никнеймами.

2. Добавлена возможность фильтрации емейл адресов по маске. Используйте символ звездочки что бы задать маску ‘*’. Например:

  • name*@example.com (будут блокироваться все адреса с любым набором символов после «name»).
  • *aa44@example.com (будут блокироваться все адреса с любым набором символов перед «aa44»).
  • *kkk*vvv*@example.com (будут блокироваться все адреса с любым набором символов перед «kkk», перед «vvv» и после «vvv»).

И так далее, комбинации заданных наборов символом в адресе можно перемешивать в любом порядке.

Инструкцию по использованию персональных черных списков можно посмотреть здесь https://cleantalk.org/help/blacklist-usage
*

Aleksandr.Razor

  • Осваиваюсь на форуме
  • 16
  • 0 / 0
Здравствуйте,

В версии плагина 4.9 добавлена функция проверки на спам для существующих комментариев/пользователей. Запустить сканирование можно из настроек плагина.

Как это работает: плагин берет данные каждого комментария (IP/email и дата), по дате комментария или дате регистрации пользователя проверяется, какой был статус IP/email в базе черных списков CleanTalk на эту дату. На основе этих данных формируется список на удаление, который вы можете редактировать.

Последнюю версию можно скачать в каталоге Joomla.
*

Yonakano

  • Захожу иногда
  • 56
  • 0 / 0
Конечно, боюсь сглазить, но пока что, по первому впечатлению - плагин отличный.
И, действительно, сумма оплаты ЗА ГОД - совсем небольшая.
Учитывая, что на
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Учитывая, что на
что на.... А чем закончилась ваша мысль?
Лично мне за глаза хватает бесплатной recaptcha 2, и никому платить не нужно. Хорошо защищает пока от автоматических регистраций и, собственно, спама. Так же я написал небольшой модуль, который так же неплохо режет ненужный трафик.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

galina34188

  • Новичок
  • 2
  • 0 / 0
Спасибо, заинтересовался. В ближайшее время попробую. Отпишусь обязательно.


Добрый день. Хотелось бы узнать Ваше мнение о плагине. По подробнее в т.ч. по стоимости
*

Bahus

  • Захожу иногда
  • 70
  • 0 / 0
Добрый день. Хотелось бы узнать Ваше мнение о плагине. По подробнее в т.ч. по стоимости
На wordpress использую. Забыл, что такое спам. Если не жалко 550 в год, то очень советую.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин "Русская типографика"

Автор Physicist

Ответов: 261
Просмотров: 156137
Последний ответ 13.03.2025, 20:06:50
от Olg
Мастерю плагин для админки - оплата налом или по карте при самовывозе

Автор kkmspb

Ответов: 0
Просмотров: 1279
Последний ответ 27.08.2024, 15:39:37
от kkmspb
Плагин LVSpoiler - спойлеры с динамической загрузкой изображений

Автор Arkadiy

Ответов: 449
Просмотров: 101886
Последний ответ 20.04.2024, 21:10:33
от Beer
Плагин StopKids для маркировки сайта знаком 18+ для Joomla 1.5-3.x

Автор ecolora

Ответов: 40
Просмотров: 22637
Последний ответ 19.03.2023, 18:55:08
от ecolora
Компонент Commedia и плагин mp3browser для медиа-сайтов

Автор ecolora

Ответов: 557
Просмотров: 127795
Последний ответ 13.03.2023, 00:25:14
от ecolora