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

evpadallas

  • Захожу иногда
  • 171
  • 42 / 1
Хотелось бы спросить у господина Виктора следующий вопрос.
Я хочу построить меню из статических страниц магазина. типа: (оплата | доставка | о магазине | и т.д.)
Иду в меню и вижу, что из многих статических страниц, в меню выведено только 3, что очень странно. Как вывести туда остальные?
Ладно, пробую создать меню с одним пунктом, доставка. Все выставляю     Show - All, Static pages - Shipping.
Смотрю на сайт, появилось меню, перехожу по ссылке, и... о чудо!....   шибка: 500 Представление не найдено [name, type, prefix]: jshopping, HTML, jshoppingView.

Собственно вопрос. Может я что-то неправильно делаю? Расскажите, как с этим обстоят дела?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Меню из статических страниц
« Ответ #1 : 06.04.2012, 08:40:37 »
Хотелось бы спросить у господина Виктора следующий вопрос.
Я хочу построить меню из статических страниц магазина. типа: (оплата | доставка | о магазине | и т.д.)
Иду в меню и вижу, что из многих статических страниц, в меню выведено только 3, что очень странно. Как вывести туда остальные?
Ладно, пробую создать меню с одним пунктом, доставка. Все выставляю     Show - All, Static pages - Shipping.
Смотрю на сайт, появилось меню, перехожу по ссылке, и... о чудо!....   шибка: 500 Представление не найдено [name, type, prefix]: jshopping, HTML, jshoppingView.

Собственно вопрос. Может я что-то неправильно делаю? Расскажите, как с этим обстоят дела?
Необходимо в Show, вместо All поставить "Category or Manufacturer or StaticPage"
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Re: Меню из статических страниц
« Ответ #2 : 06.04.2012, 09:33:54 »
То что поставить это понтяно
Только в списке есть 3 страницы статические.
А посмотрите в закладке статический текст сколько их на самом деле можно сделать.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Меню из статических страниц
« Ответ #3 : 09.04.2012, 11:25:09 »
То что поставить это понтяно
Только в списке есть 3 страницы статические.
А посмотрите в закладке статический текст сколько их на самом деле можно сделать.
Открывает файл \components\com_jshopping\metadata.xml
После
Код
                <option value="shipping">Shipping</option>
Добавляем например
Код
                <option value="order_finish_descr">Order finish</option>
order_finish_descr Это Alias (Псевдоним) статической страницы
При создании новой статической страницы, псевдоним указывается самостоятельно.
Для создания уже существующих страниц Alias можно посмотреть в базе в таблице opt_jshopping_config_statictext
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

evpadallas

  • Захожу иногда
  • 171
  • 42 / 1
Re: Меню из статических страниц
« Ответ #4 : 17.04.2012, 16:38:52 »
Linfuby: +1 в репу! Спасибо за подсказку.
*

evpadallas

  • Захожу иногда
  • 171
  • 42 / 1
Re: Меню из статических страниц
« Ответ #5 : 17.04.2012, 16:41:18 »
А не знаешь случайно, где брать SEO данные для этих страниц? Можно же и SEO свое создавать, но вот не ясно, как именно к странице прикручивать
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Re: Меню из статических страниц
« Ответ #6 : 17.04.2012, 16:49:42 »
В настройках есть SEO страниц
/administrator/index.php?option=com_jshopping&controller=config&task=seo
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

evpadallas

  • Захожу иногда
  • 171
  • 42 / 1
Re: Меню из статических страниц
« Ответ #7 : 17.04.2012, 22:55:32 »
Это я знаю. Как это SEO связать со сделанными мной новыми статическими страницами?
*

Linfuby

  • Завсегдатай
  • 1242
  • 176 / 0
  • Всё просто...
Re: Меню из статических страниц
« Ответ #8 : 19.04.2012, 21:43:07 »
Это я знаю. Как это SEO связать со сделанными мной новыми статическими страницами?
Попробуйте при создании страницы SEO (/administrator/index.php?option=com_jshopping&controller=config&task=seo) указать alias созданной статической страницы, перед которым прописать "content-". (content-aliasnewpage)
Немного воображения и логики, и любая проблема становится решенной.
Кривые решения - дают кривой результат!
Решения для JoomShopping
Благодарности и поддержка принимаются по след. реквизитам:
Яндекс.Деньги - 41001751720054
*

evpadallas

  • Захожу иногда
  • 171
  • 42 / 1
Re: Меню из статических страниц
« Ответ #9 : 24.04.2012, 22:29:20 »
+ в репу! Работает! огромное спасибо!
*

funtic

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Меню из статических страниц
« Ответ #10 : 20.05.2012, 02:03:19 »
А как вывести способы доставки, без оформления заказа, чтобы показать их клиентам ?
« Последнее редактирование: 20.05.2012, 02:09:23 от funtic »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Плагин - Заголовки страниц JoomShopping [Скачать]

Автор kit2m2

Ответов: 31
Просмотров: 5802
Последний ответ 12.01.2022, 06:08:13
от kit2m2
Список производителей в меню

Автор anatol81n

Ответов: 2
Просмотров: 1544
Последний ответ 07.12.2021, 18:01:03
от anatol81n
[Решено] Пунк меню для товаров с опр. характеристикой

Автор kontrast

Ответов: 142
Просмотров: 18824
Последний ответ 06.09.2019, 16:00:47
от dmitry_stas
Вытаскиваем меню JoomShopping в админке на верхний уровень, туда где Материалы, Компоненты и тд.

Автор danik.html

Ответов: 39
Просмотров: 10052
Последний ответ 29.03.2017, 18:50:06
от Linfuby
Ошибка при использовании хака "Всего страниц"

Автор Kalipso

Ответов: 8
Просмотров: 1952
Последний ответ 28.01.2014, 20:17:53
от Sticher78