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

nikolay80

  • Новичок
  • 5
  • 0 / 0
Здравствуйте я еще новичок в Joomla_1.5.9. Не подскажите как решить проблему с Community Builder, при регистрации пользователя перед ним появляется сообщение что на e-mail отправлено письмо в котором указаны шаги для окончательной регистрации. Проверял на почте письмо не доходит нет ни во входящих ни в спаме. В самой Joomla регистрацию пользователей отменилактивировал в community builder (да, независимо от глобальных настроек) Меняю в Joomla_1.5.9 в «Менеджере конфигурации», во вкладке «Регистрация», пункт «Требовать подтверждение по почте», с «Да» на «Нет». После этого регистрация проходит нормально (но не сразу нужно еще раз обновить страницу). Не подскажите как можно решить эту проблему? Или в каком разделе можно спросить об этом?
*

lumen_xp

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Регистрация пользователей
« Ответ #1 : 27.10.2009, 07:05:58 »
Текст письма которое высылается юзеру для подтверждения ты случаем не переводил?
У меня письма перестали ходить когда я в настройках CB перевел письма на подтверждение ящика и на уведомление об одобрении админом.
*

smivan85

  • Осваиваюсь на форуме
  • 47
  • 3 / 0
Re: Регистрация пользователей
« Ответ #2 : 27.10.2009, 12:32:43 »
Текст письма которое высылается юзеру для подтверждения ты случаем не переводил?
Ёклмн... у меня приключения эти же после перевода появились... что же делать?
Приходит письмо либо при обновлении страницы с текстом "регистрация завершена! Проверьте ваш почтовый ящик...", либо при повторной попытке зарегиться с такими же данными.
Что делать, а?
*

smivan85

  • Осваиваюсь на форуме
  • 47
  • 3 / 0
Re: Регистрация пользователей
« Ответ #3 : 27.10.2009, 12:33:44 »
О! Исправить текст заголовка страницы с "Регистрация завершена" на "Обновите эту страницу!"
 ;D
*

ange-linka

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: Регистрация пользователей
« Ответ #4 : 01.12.2009, 08:52:24 »
у меня тот же косяк, правда и при обновлении страницы ничего не отправляется:(
а никто этими текстами писем не поделится?:) я тоже их затёрла =)))
*

lumen_xp

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Регистрация пользователей
« Ответ #5 : 01.12.2009, 09:01:30 »
Здравствуйте [NAME]!
Ваш запрос на создание аккаунта будет рассмотрен администрацией сайта.
Информация о вашем аккаунте:
[DETAILS]
Ваш пароль: [password]

Подтвердите свой e-mail и активируйте аккаунт:
[CONFIRM]
С уважением, администрация

====================================

Здравствуйте [NAME]!
Ваш запрос был одобрен администрацией сайта.
Информация о вашем аккаунте:
[DETAILS]
Ваш аккаунт активирован.
Мы рады видеть вас на нашем портале!
Удачи!
С уважением, администрация портала

=======================================

Английский вариант я убрал, т.к. письма стали ходить на русском.

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

ange-linka

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: Регистрация пользователей
« Ответ #6 : 01.12.2009, 10:13:11 »
вставила старый текст
один фиг не работает
:(
разрешение регистрироваться в общих настройках сайта убрала, в СВ поставила.. не могу понять почему не работает:(((
*

ange-linka

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: Регистрация пользователей
« Ответ #7 : 01.12.2009, 10:14:52 »
lumen_xp, спасибо!
нсчёт настроек почтового сервера: например, из формочек, созданных с помощью ChronoForms, всё отправляется на емейл нормально:(
*

ange-linka

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: Регистрация пользователей
« Ответ #8 : 01.12.2009, 11:29:29 »
надо же, при обновлении страницы стало приходить на емейл:)
как бы теперь добиться, чтобы без обновлений всё работало?;)
*

ange-linka

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: Регистрация пользователей
« Ответ #9 : 01.12.2009, 11:35:38 »
кажется, ЗАРАБОТАЛО!!:))))))
*

ange-linka

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
Re: Регистрация пользователей
« Ответ #10 : 01.12.2009, 11:36:55 »
похоже дело в PHP на серваке.
у меня было настроено через cgi ,я эти настройки убрала, и заработало:)
но может быть и не поэтому   :-*
*

lumen_xp

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Регистрация пользователей
« Ответ #11 : 13.12.2009, 16:10:04 »
В CB зайди в Конфигурацию -> Вкладка "Модерирование" -> Строка "Требовать авторизации загрузки фото" -> ставишь НЕТ.
Если у тебя английская версия то на основании названия русских полей не так сложно будет понять где отключить.
*

lumen_xp

  • Осваиваюсь на форуме
  • 22
  • 1 / 0
Re: Регистрация пользователей
« Ответ #12 : 13.12.2009, 16:25:52 »
Проверь, получилось? Если да, то поставь мне +!

Re: Регистрация пользователей
« Ответ #13 : 21.12.2009, 23:53:35 »
версия php виновата. я на 5.1 тоже наблюдал подобную проблему, пока 5.2 в режиме cgi не подключил.
*

TheMasteR

  • Захожу иногда
  • 52
  • 1 / 0
  • Вальцуй вальцуй меня.... Моя ракетная установка го
Re: Регистрация пользователей
« Ответ #14 : 22.12.2009, 19:25:05 »
А где править этот режим cgi ? Подскажите ..
*

TheMasteR

  • Захожу иногда
  • 52
  • 1 / 0
  • Вальцуй вальцуй меня.... Моя ракетная установка го
Re: Регистрация пользователей
« Ответ #15 : 22.12.2009, 21:31:13 »
А может это зависит от настроек в самой жулме ?
А именно Сайт--Общие настройки--Сервер
И там есть блок "Установки почты"
*

TheMasteR

  • Захожу иногда
  • 52
  • 1 / 0
  • Вальцуй вальцуй меня.... Моя ракетная установка го
Re: Регистрация пользователей
« Ответ #16 : 23.12.2009, 18:48:11 »
у меня хостинг freehost

В нём такие есть параметры по почте:

Электронная почта:

POP3 е-mail аккаунты   Неогр.
SMTP сервер   Есть
Почтовая дисковая квота   Неогр.
WEB-интерфейс работы с почтой   Есть
Антиспам на почтовом сервере   Есть
Антивирус входящей почты   Есть
E-mail переадресация   Неогр.
Почтовый автоответчик   Неогр.


З.Ы.
Ну та ладно ничего не зависит от настройки блок "Установки почты"?
Тогда по какому принчипу работает комюнити билдер?
Или может в нем есть какие-то настройки почты ?
« Последнее редактирование: 23.12.2009, 18:54:32 от TheMasteR »
*

TheMasteR

  • Захожу иногда
  • 52
  • 1 / 0
  • Вальцуй вальцуй меня.... Моя ракетная установка го
Re: Регистрация пользователей
« Ответ #17 : 04.01.2010, 18:17:58 »
UP!
*

vadim_tula

  • Осваиваюсь на форуме
  • 48
  • 0 / 0
Re: Регистрация пользователей
« Ответ #18 : 13.01.2010, 11:45:53 »
у меня регистрация проходит, но письма подтверждения не приходят, по крайней мере на mail.ru. Подскажите решение. cb 1.2.1, Joomla 1.5.15.
Отправка почты через smtp.gmail.com
-------------------
вопрос снят, на mail.ru почта приходит с опозданием, у меня на 4 часа:)
« Последнее редактирование: 18.01.2010, 04:51:54 от vadim_tula »
*

Vedynn

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
Re: Регистрация пользователей
« Ответ #19 : 01.02.2010, 14:43:51 »
Доброго времени суток.

Из-за особенностей дизайна  (настройки CB login горизонтально , компакт.)
создал кнопку регистрации в меню но после авторизации она не пропадает. Как сделать чтобы она исчезала после авторизации пользователя ?
*

Sni10

  • Захожу иногда
  • 110
  • 5 / 0
  • I am a law abiding citizen . . .
Re: Регистрация пользователей
« Ответ #20 : 02.02.2010, 04:10:24 »
присоединяюсь к TheMasteR.
Если кто знает из опытных скажите как обьяснить непутевому билдеру каким хреном ему почту отправлять если я в настройках регистрации ставлю параметр "НЕ зависимо от глобальных настроек" ?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать выпадающее меню поиска пользователей ?

Автор Dred

Ответов: 0
Просмотров: 4141
Последний ответ 26.04.2012, 21:01:33
от Dred
cb_connections отображение у всех пользователей?

Автор z3l

Ответов: 1
Просмотров: 4216
Последний ответ 29.03.2012, 16:42:41
от z3l
Блок Регистрация / Вход

Автор TheDude

Ответов: 0
Просмотров: 2494
Последний ответ 19.03.2012, 17:49:21
от TheDude
Как сделать чтобы у зарегистрированных пользователей при входе на сайт автоматич. открывался профиль

Автор formertyt

Ответов: 6
Просмотров: 6212
Последний ответ 18.03.2012, 19:09:54
от drinkmaker
список всех пользователей CB

Автор ven-til

Ответов: 0
Просмотров: 1673
Последний ответ 09.02.2012, 20:58:14
от ven-til