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

nash17

  • Захожу иногда
  • 115
  • 0 / 0
Помогоите подобрать CCK
« : 18.12.2014, 11:26:44 »
Прошу знающих помочь с выбором CCK
проблема в том, что надо бесплатная  ^-^

Потребность в структуризации товара без корзины в структуре блога:
1. Вывод в блог картинки и несколько дополнительных полей
2. В самом товаре картинка, дополнительные поля (под разные категории разные доп поля), табы:
- описание
- характеристики
- видео обзор (вставка видео с ютуба)
- фотографии (фотогалерея)
- отзывы (возможность писать отзывы в табе). Данная функция не принципиальна, могу обойтись комментированием.
3. Наличие фильтра в блоге по названию и дополнительным полям.


На данный момент реализовал данные потребности через com_content + MiniCCK (дополнительные поля) + NoNumber Tabs (Табы) + sigplus (фотогалерея) + allvideo (вставка видео с ютуба)

Ну вроде как не плохо, но нет возможности сделать фильтр по дополнительным полям. Ну и стандартный поиск не ловит MiniCCK, но это еще терпимо.
Сайт в процессе создания, вот я и думаю, толи перейти на CCK (но надо бесплатная), толи допиливать то что есть?
*

nash17

  • Захожу иногда
  • 115
  • 0 / 0
Re: Помогоите подобрать CCK
« Ответ #1 : 18.12.2014, 16:18:16 »
оказалось, что в MiniCCK есть фильтр, так что решил остановиться на той сборке которая у меня получилась
*

IzrA

  • Захожу иногда
  • 322
  • 27 / 0
Re: Помогоите подобрать CCK
« Ответ #2 : 09.01.2015, 09:47:58 »
Вопрос точно такой же как заголовок темы.

Коллеги, подскажите, чем можно реализовать вывод товаров, как на скрине. Это показана одна категория. Набор характеристик в каждой категории будет разный. Фирма занимается оптовой торговлей, заказы 500-1000 и более единиц. Наличие карточки каждого товара не обязательно(но и не помешает, т.к. у некоторых товаров большое описание). Интернет-магазин, я считаю, тут не подходит, даже в режиме каталога. Крайне важен импорт\экспорт отдельных категорий для внесения изменений. Заранее спасибо, за наводку.

UPD.
Я не ищу только бесплатные, если компонент будет соответствовать моим требованиям, то возможно и приобретение.
Спасибо для меня слишком много. Стакан вина Плюс в репутацию - в самый раз.

Велосипедист — бедствие для экономики. Он не покупает автомобиля и не берет под него кредит. Не покупает бензин. Не пользуется услугами ремонтных мастерских. Не страхует «гражданскую ответственность». Не пользуется платными стоянками. Не страдает от ожирения. Да он еще и здоров, черт возьми! Здоровые люди не нужны для экономики. Они не покупают лекарства. Они не ходят к частным врачам. Они не увеличивают ВВП.
*

Alldar

  • Завсегдатай
  • 1504
  • 195 / 1
Re: Помогоите подобрать CCK
« Ответ #3 : 09.01.2015, 11:33:04 »
Seblod попробуйте но он очень не простой
*

IzrA

  • Захожу иногда
  • 322
  • 27 / 0
Re: Помогоите подобрать CCK
« Ответ #4 : 09.01.2015, 14:37:28 »
В чём именно заключается сложность? Есть ли в нём импорт/экспорт?
Спасибо для меня слишком много. Стакан вина Плюс в репутацию - в самый раз.

Велосипедист — бедствие для экономики. Он не покупает автомобиля и не берет под него кредит. Не покупает бензин. Не пользуется услугами ремонтных мастерских. Не страхует «гражданскую ответственность». Не пользуется платными стоянками. Не страдает от ожирения. Да он еще и здоров, черт возьми! Здоровые люди не нужны для экономики. Они не покупают лекарства. Они не ходят к частным врачам. Они не увеличивают ВВП.
*

chemerzaev

  • Давно я тут
  • 630
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
Re: Помогоите подобрать CCK
« Ответ #5 : 23.01.2015, 16:08:55 »
Используйте jbzoo многие проблемы можно решить, а то что выше описано то вообще элементарно.
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Подобрать решение для каталога товаров и фирм их поставляющих

Автор olnev

Ответов: 1
Просмотров: 1588
Последний ответ 08.04.2014, 04:12:49
от zeus07
Подобрать компонент каталога

Автор ghostgt

Ответов: 1
Просмотров: 1711
Последний ответ 07.04.2013, 16:34:24
от tamogoch
Подобрать каталог

Автор Stryukov

Ответов: 11
Просмотров: 2524
Последний ответ 27.03.2013, 08:21:53
от Sergey Romanov
Какое расширение подобрать?

Автор veg

Ответов: 1
Просмотров: 1664
Последний ответ 03.08.2012, 06:39:36
от Sergey Romanov