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

maga_89

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Подскажите как установить community builder
с английским дружу плохо   ^-^
прочел реадми, но там на английском. вот что там написано:
-----------------------------------------------------
IMPORTANT - This component does not work with any other registration or
login modules or hacks. It is recommended that you uninstall all such
modifications as the effects of using them with this component are
unknown.

IMPORTANT - As for any installation: BACKUP FIRST your database and files.

SUMMARY OVERVIEW
----------------
1)  Install com_comprofiler component
2)  Install mod_cblogin module
3)  Install mod_comprofilerModerator module
4)  Install mod_comprofilerOnline module
5)  Enable CB Login, CB Workflows and CB Online  modules
6)  Select Name Style parameter from Community Builder Configuration and Save.
    Run Community Builder Synchronize Users tool.
7)  Disable Joomla/Mambo login modules
8)  Add new Public menu item to Community Builder component
9)  Add new User List menu item
10) Run Load Sample Data tool (optional)
11) Adjust Community Builder and Joomla/Mambo CMS settings to allow registrations
    only through Community Builder
12) Done!
------------------------------------------------
Переведите на русский язык, или обьясните по своему, как установить. первые 4 пункта я выполнил, а вот что дальше делать не знаю  >:(
« Последнее редактирование: 14.02.2009, 21:01:50 от maga_89 »
*

maga_89

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Re: Как установить Сommunity Builder?
« Ответ #1 : 14.02.2009, 20:16:57 »
в последнее время никто не помогает :(
*

maga_89

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Re: Как установить Сommunity Builder?
« Ответ #2 : 14.02.2009, 21:04:06 »
людииииииииииииииииииииииии!!! помогитеееее =)))
*

maga_89

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Re: Как установить Сommunity Builder?
« Ответ #3 : 14.02.2009, 23:56:05 »
на этом форуме может мне кто нибудь помочь???
*

bax

  • Захожу иногда
  • 68
  • 1 / 1
  • Я только учусь...
Re: Как установить Сommunity Builder?
« Ответ #4 : 18.02.2009, 14:51:27 »
Используй русскую версию http://communitybuilder.ru/index.php?option=com_remository&Itemid=5
или переводчик http://www.translate.ru/. Смотрел перевод того что вы написали - смысл весьма понятен!

Re: Как установить Сommunity Builder?
« Ответ #5 : 23.03.2009, 23:09:54 »
Подскажите как установить community builder
с английским дружу плохо   ^-^
прочел реадми, но там на английском. вот что там написано:
-----------------------------------------------------
IMPORTANT - This component does not work with any other registration or
login modules or hacks. It is recommended that you uninstall all such
modifications as the effects of using them with this component are
unknown.

IMPORTANT - As for any installation: BACKUP FIRST your database and files.

SUMMARY OVERVIEW
----------------
1)  Install com_comprofiler component
2)  Install mod_cblogin module
3)  Install mod_comprofilerModerator module
4)  Install mod_comprofilerOnline module
5)  Enable CB Login, CB Workflows and CB Online  modules
6)  Select Name Style parameter from Community Builder Configuration and Save.
    Run Community Builder Synchronize Users tool.
7)  Disable Joomla/Mambo login modules
8)  Add new Public menu item to Community Builder component
9)  Add new User List menu item
10) Run Load Sample Data tool (optional)
11) Adjust Community Builder and Joomla/Mambo CMS settings to allow registrations
    only through Community Builder
12) Done!
------------------------------------------------
Переведите на русский язык, или обьясните по своему, как установить. первые 4 пункта я выполнил, а вот что дальше делать не знаю  >:(

Я сегодня добрый волшебник, хоть и с опозданием :)
-----------------------------------------------------
ВАЖНО - Этот компонент не работает с другими модулями или хаками авторизации.
Рекомендуется удалить все подобные модификации, т. к. неизвестно, к какому
это может привести результату.

ВАЖНО - Как и при любой установке: СНАЧАЛА СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ базы данных и файлов.

SUMMARY OVERVIEW
----------------

КРАТКАЯ ИНСТРУКЦИЯ

1)  Установите компонент com_comprofiler
2)  Установите модуль mod_cblogin
3)  Установите модуль mod_comprofilerModerator
4)  Установите модуль mod_comprofilerOnline
5)  Активируйте модули CB Login, CB Workflows и CB Online
6)  Задайте параметр Вид имени (Name Style) в разделе Configuration компонента Community Builder и нажмите Save.
     В разделе Tools выполните Synchronize Users.
7)  Отключите модули авторизации Joomla/Mambo
     Создайте Public menu item в Community Builder (хотя сам не знаю что это, я не делал кажется)
9)  Создайте User List в разделе List Management
10) Нажмите Load Sample Data в разделе Tools (не обязательно)
11) Запретите регистрацию новых пользователей в Joomla/Mambo CMS и разрешите регистрацию только в Community Builder
12) Готово!

Я ваще нереально крут...
*

maga_89

  • Осваиваюсь на форуме
  • 16
  • 1 / 0
Re: Как установить Сommunity Builder?
« Ответ #6 : 14.04.2009, 02:58:42 »
спасибо! ты реально крут! =))
*

Forget-me-not

  • Moderator
  • 242
  • 39 / 0
  • Птица-говорун отличается умом и сообразительностью
Re: Как установить Сommunity Builder?
« Ответ #7 : 14.04.2009, 12:04:54 »
спасибо! ты реально крут! =))
а вам, maga_89, замечание за неисполнение правил форума, в частности:
Запрещается
13. Поднимать свою тему добавлением сообщений или создавать новые темы с таким же содержанием, если с момента создания темы прошло менее 3-х дней
Всё великое совершили люди двух типов: гениальные, которые знали, что это выполнимо, и абсолютно тупые, которые даже не знали, что это невыполнимо...
*

Sulpher

  • Живу я здесь
  • 2130
  • 402 / 16
  • Шаблоны и расширения Joomla
Re: Как установить Сommunity Builder?
« Ответ #8 : 14.04.2009, 12:18:09 »
Цитировать
Используй русскую версию http://communitybuilder.ru/index.php?option=com_remository&Itemid=5
Там перевод Community Builder 1.1, а сейчас уже давно доступна версия 1.2. Русификатор на который можно найти в этом разделе.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Re: Как установить Сommunity Builder?
« Ответ #9 : 14.04.2009, 12:22:15 »
_http://communitybuilder.ru/
Там давно уже курят бамбук :) Результат просмотра главной:
последняя новость - 05.07.2008
Что больше всего понравилось Новости о Joomla - JComments 1.4.0.7  ^-^
*

adik

  • Осваиваюсь на форуме
  • 11
  • 0 / 0
Re: Как установить Сommunity Builder?
« Ответ #10 : 14.04.2009, 15:47:39 »
установил нo при регистрации пишет вот это:

Warning: _formatFieldOutput called with tabletrs in /home3/mysite/public_html/administrator/components/com_comprofiler/plugin.class.php on line 1165

Warning: _formatFieldOutput called with tabletrs in /home3/mysite/public_html/administrator/components/com_comprofiler/plugin.class.php on line 1211

Help! !!!???!!! please

Re: Как установить Сommunity Builder?
« Ответ #11 : 01.10.2009, 03:33:20 »
Я сегодня добрый волшебник, хоть и с опозданием :)
-----------------------------------------------------
ВАЖНО - Этот компонент не работает с другими модулями или хаками авторизации.
Рекомендуется удалить все подобные модификации, т. к. неизвестно, к какому
это может привести результату.

ВАЖНО - Как и при любой установке: СНАЧАЛА СДЕЛАЙТЕ РЕЗЕРВНУЮ КОПИЮ базы данных и файлов.

SUMMARY OVERVIEW
----------------

КРАТКАЯ ИНСТРУКЦИЯ

1)  Установите компонент com_comprofiler
2)  Установите модуль mod_cblogin
3)  Установите модуль mod_comprofilerModerator
4)  Установите модуль mod_comprofilerOnline
5)  Активируйте модули CB Login, CB Workflows и CB Online
6)  Задайте параметр Вид имени (Name Style) в разделе Configuration компонента Community Builder и нажмите Save.
     В разделе Tools выполните Synchronize Users.
7)  Отключите модули авторизации Joomla/Mambo
     Создайте Public menu item в Community Builder (хотя сам не знаю что это, я не делал кажется)
9)  Создайте User List в разделе List Management
10) Нажмите Load Sample Data в разделе Tools (не обязательно)
11) Запретите регистрацию новых пользователей в Joomla/Mambo CMS и разрешите регистрацию только в Community Builder
12) Готово!

Я ваще нереально крут...
Спасибо огромное! :-*  Понятно и доступно!

Re: Как установить Сommunity Builder?
« Ответ #12 : 12.10.2009, 11:18:33 »
У меня Community Builder работает только в IExplorer, в FireFox - пишет что нет доступа... что не так?
*

je_k_a

  • Захожу иногда
  • 90
  • 1 / 0
Re: Как установить Сommunity Builder?
« Ответ #13 : 19.02.2010, 16:57:49 »
9 это обязательно?
« Последнее редактирование: 19.02.2010, 22:21:44 от je_k_a »

Re: Как установить Сommunity Builder?
« Ответ #14 : 13.03.2010, 14:43:23 »
Доброго времени суток. Такой вопрос, как его теперь убрать?
 я удалил модуль com_comprofiler
по отключал mod_cblogin

и все равно на сайте висит регистрация.
_____
Все разобрался
« Последнее редактирование: 13.03.2010, 14:51:13 от mamory »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как установить Кросспостинг/Автопостинг на сайт (БЕСПЛАТНО)?

Автор Igoritaly

Ответов: 0
Просмотров: 1375
Последний ответ 23.02.2016, 13:14:33
от Igoritaly
Как установить только одну цветовую гамму?

Автор Nina47

Ответов: 1
Просмотров: 1211
Последний ответ 08.08.2014, 22:51:57
от arma
Как в php подключить GD библиотеки, а так-же установить в php расширение gd2.dll?

Автор Tykaram

Ответов: 42
Просмотров: 37983
Последний ответ 25.02.2014, 12:34:16
от atolic
2 раза установить один и тот же модуль под разными именами

Автор HolySong

Ответов: 4
Просмотров: 1834
Последний ответ 04.01.2013, 19:14:43
от Efanych
Как установить комментарии на главную страницу?

Автор ishimov

Ответов: 12
Просмотров: 2630
Последний ответ 12.10.2012, 20:05:48
от Efanych