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

garnir

  • Новичок
  • 4
  • 0 / 0
Каталог книг на K2
« : 01.05.2013, 09:34:37 »
Здравствуйте.
С Joomla я знаком очень плохо, но по долгу службы пришлось осваивать. До этого работал только с ДЛЕ и столкнулся с проблемой. На сайте нужно сдлеать каталог книг, но на ДЛЕ ничего даже похожего, кроме галереи картинок я не нашел. На Joomla есть компонент K2, который бы мне идеально подошел, но в нем нет одного крайне важного момента - возможности создания категорий пользователями прямо с сайта. Пользователь должен иметь возможность создать подкатегорию в одной из корневых категорий и добавить туда несколько книг.

очень возможно, что я просто еще не понял как это сделать в K2. Подскажите пожалуйста как это сделать, если это вообще возможно, а если нет, то может посоветуете что-то более подходящее.

PS Пробовал еще BookLibruary, но это не подходит. Слишком не гибкая анстройка и нет дополнительных полей.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Каталог книг на K2
« Ответ #1 : 01.05.2013, 12:16:02 »
Создание категорий прерогатива исключительно админская.Это верно. Но вопрос можно решить и иначе.
1.Или создать количество категорий с хорошим запасом по тематике.
2.Или использовать теги.Вариант на мой взгляд похуже, но в некоторых случаях вполне выручит.
Еще можно попробовать ZOO от YouTheme. Но он платный в основной комплектации. http://www.yootheme.com/zoo И точно не уверен, но и там возможно, что нет добавления категорий пользователями с фронтенда.
*

garnir

  • Новичок
  • 4
  • 0 / 0
Re: Каталог книг на K2
« Ответ #2 : 01.05.2013, 16:21:46 »
Zoo тоже посмотрел. Не подходит. Теги - вариант, но не лучший. Наверно все же придется при помощи галереи для картинок DLE все это делать. Тем не менее, спасибо. Просто думал, может есть что-то очевидное, про что все знают, а я не замечаю того, что лежит прямо под носом. Но похоже, что на самом деле все не так просто.
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Каталог книг на K2
« Ответ #3 : 01.05.2013, 16:59:05 »
http://asmodei.ru/ гляньте. Гуд?
Возможность создавать пользователями категории тоже можно сделать. Но будет бардак, как уже и сказали, хотя дело ваше.
*

garnir

  • Новичок
  • 4
  • 0 / 0
Re: Каталог книг на K2
« Ответ #4 : 02.05.2013, 10:34:53 »
Нечто похожее, но здесь, как я понимаю используется тот самый booklibruary. По крайней мере очень похоже. В нем нет создания категорий с сайта, да и с дополнительными полями тоже беда. Там можно только по автору книги вывести. Мне же нужно, чтобы можно было вывести результат по нескольким доп полям, например Издатель, Год издания, Художник и тд.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Каталог книг на K2
« Ответ #5 : 02.05.2013, 12:21:03 »
Тогда К2 с фильтром поиска решит вашу проблему. Но для чего нужно создание категорий пользователями с фронт-енда, я никак не пойму.
Поясните, для чего нужна такая опция? Какую задачу она решает? Пользователи в подавляющем своем большинстве вовсе не искушены в администрировании и могут не знать принципов и задач вашего каталога или признака классификатора.И будут у вас категории с названием книг, авторов,"от балды" вновь изобретенные жанры и направления литературы.
Но это мое мнение.
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Каталог книг на K2
« Ответ #6 : 02.05.2013, 17:10:51 »
Нечто похожее, но здесь, как я понимаю используется тот самый booklibruary.

Нет, используется CCK Seblod. Как раз в нем добавление категорий с фронта сайта является штатной функцией. Поиск по дополнительным полям тоже.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Каталог книг на K2
« Ответ #7 : 02.05.2013, 18:36:15 »
Топикстартер новичок в Joomla.А тут и на Seblod сразу же.Ему бы отыскать что-то более коробочное.
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Каталог книг на K2
« Ответ #8 : 02.05.2013, 18:46:09 »
Топикстартер новичок в Joomla.А тут и на Seblod сразу же.Ему бы отыскать что-то более коробочное.

Я и предлагаю коробочное. Тип контента "Категория" в Seblod идет из коробки, ничего ковырять не надо, кроме прав доступа.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Каталог книг на K2
« Ответ #9 : 02.05.2013, 20:59:42 »
А как обстоит вопрос с русификатором? Понятно, что перевод полей то можно сделать при их создании.А в самой админке? Разберется ли? Но пусть попробует.А вдруг?
*

KKAAZZOO

  • Живу я здесь
  • 2288
  • 119 / 9
Re: Каталог книг на K2
« Ответ #10 : 02.05.2013, 21:36:27 »
Русификатор готов. Но только чего-то до сих пор не выложен. Как бы можно его забрать, но неудобным способом, через копипаст.
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Каталог книг на K2
« Ответ #11 : 02.05.2013, 21:48:22 »
Если вас не затруднит, то сообщите в личку мне тогда, как его можно получить, чтобы не зафлуживать тему.
*

ArtDruk

  • Новичок
  • 3
  • 0 / 0
Re: Каталог книг на K2
« Ответ #12 : 10.05.2013, 01:33:40 »
Попробуй это:
http://demo.mosets.com/tree/
есть возможность добавлять категории с фронтенда
« Последнее редактирование: 11.05.2013, 04:39:47 от ArtDruk »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

К2 Каталог товаров - групповое изменение цен

Автор rj45

Ответов: 0
Просмотров: 1260
Последний ответ 28.01.2016, 13:37:35
от rj45
Каталог товаров на K2 - Статус

Автор Plazmodina

Ответов: 4
Просмотров: 1984
Последний ответ 19.10.2015, 10:54:59
от jurassik
Импорт XML в K2 каталог

Автор danyo

Ответов: 2
Просмотров: 1413
Последний ответ 15.10.2015, 12:56:01
от danyo
Каталог на k2

Автор baskethome

Ответов: 1
Просмотров: 1080
Последний ответ 19.03.2015, 15:57:02
от baskethome
Каталог K2 модуль K2 Tools

Автор webst

Ответов: 0
Просмотров: 1085
Последний ответ 04.07.2014, 09:46:47
от webst