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

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
В карточке товара характеристики заполнены? Я вижу, что нет, т.к. если-бы были заполнены их было-бы видно при просмотре товара с фронта.
*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Помогите пожалуйста у меня проблемка в списке производителей только один а в ВМе их около десяти что делать?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Список производителей зависит от выбранной категории и наличия товара производителя. Если производителей десять, а товары есть только у одного, то и отображаться будет только один.
*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
в том то и дело что в выборе только один а товары есть у всех даже если выбрать все категории доступен для выбора только один производитель а стандартный вирт фильтр производителей показывает нормально
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Честно говоря ничего не понял, в этой части никогда глюков небыло, разбирайся с функцией, выводящей производителей.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Понял в чем дело, цен у товаров нет, а поиск показывает только товары с ценой, следовательно и производителей только с товарами у которых есть цены.
*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
ох спасибо большое
*

NIKOLY

  • Захожу иногда
  • 94
  • 1 / 0
Здравствуйте, Arkadiy
У меня такой ворос вот все типы выводятся вертикально (ну как и все остальные параметры в модуле) это для left или типа того понятно хорошо, а вот например если модуль в другое место пихнуть можно чтобы типы (характеристики товаров) выводилиь горизонтально. это как я понимаю тут править
<?php
            if (count($types) == 1) {
                $typ = array();
                $typ[] = $types[0]->product_type_id;
                $uniSearch->get_harakt($typ, $cid, $mf_id, $conf);
            }
            ?>

заранее спасибо!
*

dfg_forever

  • Новичок
  • 7
  • 0 / 0
вернул родной шаблон flypage, а то в старом когда то давно удалил вывод типов.

Появился тип и параметр. а значения параметров - не появляется....Хотя стандартный поиск ВМ все равно находит...

В инете че то никто не пишет об этом, подскажите где рыть?
сайт sportfin.net
вот конкретная ссылка http://sportfin.net/index.php/gornieligi/shop.product_details/3/flypage.tpl/40.html

спасибо.
*

rast

  • Захожу иногда
  • 64
  • 5 / 1
Подскажите плыз как поравить сортивку выдачи параметров. Тоеесть на сайте в модуле выдается низспадающий список который по алфовиту сортируется, а надо что бы был так как я эти значени вписал.
* Значения вписал в параметре типа.
Аркадий подскажите пожалуйста где поправить код..
*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
вернул родной шаблон flypage, а то в старом когда то давно удалил вывод типов.

Появился тип и параметр. а значения параметров - не появляется....Хотя стандартный поиск ВМ все равно находит...



В инете че то никто не пишет об этом, подскажите где рыть?
сайт sportfin.net
вот конкретная ссылка http://sportfin.net/index.php/gornieligi/shop.product_details/3/flypage.tpl/40.html

спасибо.

было такое но через минут 5 само появилось)
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Здравствуйте, Arkadiy
У меня такой ворос вот все типы выводятся вертикально (ну как и все остальные параметры в модуле) это для left или типа того понятно хорошо, а вот например если модуль в другое место пихнуть можно чтобы типы (характеристики товаров) выводилиь горизонтально. это как я понимаю тут править
<?php
            if (count($types) == 1) {
                $typ = array();
                $typ[] = $types[0]->product_type_id;
                $uniSearch->get_harakt($typ, $cid, $mf_id, $conf);
            }
            ?>

заранее спасибо!
Нет, надо стили править.
*

dfg_forever

  • Новичок
  • 7
  • 0 / 0
аркадий, подскажите пож-ста.


вернул родной шаблон flypage, а то в старом когда то давно удалил вывод типов.

Появился тип и параметр. а значения параметров - не появляется....Хотя стандартный поиск ВМ все равно находит...



В инете че то никто не пишет об этом, подскажите где рыть?
сайт sportfin.net
вот конкретная ссылка http://sportfin.net/index.php/gornieligi/shop.product_details/3/flypage.tpl/40.html

спасибо.
*

rast

  • Захожу иногда
  • 64
  • 5 / 1
Я так понимаю ответа не дождусь? что же тогда получается поддержка платного модуля так же "хороша"?
*

checker

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
Здравствуйте, Arkadiy
У меня такой ворос вот все типы выводятся вертикально (ну как и все остальные параметры в модуле) это для left или типа того понятно хорошо, а вот например если модуль в другое место пихнуть можно чтобы типы (характеристики товаров) выводилиь горизонтально. это как я понимаю тут править
<?php
            if (count($types) == 1) {
                $typ = array();
                $typ[] = $types[0]->product_type_id;
                $uniSearch->get_harakt($typ, $cid, $mf_id, $conf);
            }
            ?>

заранее спасибо!
вы так хотите?
http://78.24.40.154/estetica/index.php/places/billboards
могу постараться помочь со стилями
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
аркадий, подскажите пож-ста.


вернул родной шаблон flypage, а то в старом когда то давно удалил вывод типов.

Появился тип и параметр. а значения параметров - не появляется....Хотя стандартный поиск ВМ все равно находит...



В инете че то никто не пишет об этом, подскажите где рыть?
сайт sportfin.net
вот конкретная ссылка http://sportfin.net/index.php/gornieligi/shop.product_details/3/flypage.tpl/40.html

спасибо.
Обрати внимание на цены товаров.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Я так понимаю ответа не дождусь? что же тогда получается поддержка платного модуля так же "хороша"?
А кто здесь что-то тебе обещал?
*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
так и причем тут поддержка модуля? не в модуле же дело
*

NIKOLY

  • Захожу иногда
  • 94
  • 1 / 0
вы так хотите?
http://78.24.40.154/estetica/index.php/places/billboards
могу постараться помочь со стилями
Здравствуйте, был бы очень признателен!
просто всё что я со стилями пытался сделать не выходило единственное это выстраивались в ряд "Характеристики товаров" и "Диапазон цен: от руб  до руб". для более подробного понимания что хотелось бы вот:

*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
в чем же проблема? все правиться кссом
*

NIKOLY

  • Захожу иногда
  • 94
  • 1 / 0
в чем же проблема? все правиться кссом
ага, ясно бум разбираться просто думал немного не допоняли друг друга и про разные вещи говорим
*

ClarkKent

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
каждый кусок кода обернут в свой див так что труда не составит
*

psy

  • Новичок
  • 5
  • 0 / 0
Arkadiy,
Еще раз спасибо за ваш саппорт, так сказать)))

У меня есть еще один вопрос. У меня все товары разделены по производителю, потом по параметрам. Каждый производитель висит на отдельной кнопке в меню, точнее на ссылке. Так вот, при ручном переходе в категорию производителя и далее(во вложенные категории и товар), модуль в поле выбора производителя выводит только текущую категорию. При этом, если с главной страницы использовать модуль, и затем перейти на один из найденных товаров- в форме поиска отображаются все производители. То есть, в форме поиска почему-то не отображаются все производители(повторюсь- это только при ручном переходе по категориям и товарам). Подскажите, или тыкните носом если уже было.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
По идее производители должны ограничиваться текущей категорией, когда ее нет, то выводятся все производители. А как на самом деле я даже ума не приложу, давно все это было.
*

checker

  • Осваиваюсь на форуме
  • 40
  • 1 / 0
ага, ясно бум разбираться просто думал немного не допоняли друг друга и про разные вещи говорим
Может поможет:
#b_lo_ck {
float: left;
margin: 0px 7px 0px 0px;
}
#strox {
float: left;
}
в b_lo_ck я завернул каждый параметр по которому выбираем
а в strox - сам выпадающий список - правил в самом модуле ( файл точно не помню ). Может быть есть и проще метод но у меня все сработало :)
Arkadiy:
Есть такая проблема - сменил некоторые значения внутри типа товара ( например заменил "да" на " есть", но в модуле поиска почему то отображается " да " , "есть" ,"нет" .. хотя по логике - если чего то нет в базе - этого отображаться не должно. Из каких таблиц берутся названия внутри типа товара? И почему может отображаться то чего вроде бы нет?
*

Soil

  • Захожу иногда
  • 51
  • 10 / 0
  • это я
У кого проблема с отображением товаров без цены. Попробуйте закомментировать строку 104 в файле /components/com_vm_ext_search_free/files/vm_ext_search_helper.php

Код
//$q .= "AND #__{vm}_product.product_id=#__{vm}_product_price.product_id ";

Вроде кажет теперь все товары без заполненной цены.
Да, будьте внимательны! Это стоит делать, если у вас вообще нет цен ко всем товарам (VM используется как каталог). Если есть товары с ценой и без, то лучше проставьте нули всем остальным товарам, которые без цен вообще, а этот код не трогать. В противном случае, как сказал ниже Arkadiy, вы рискуете не увидеть цен вообще в поиске.
« Последнее редактирование: 20.09.2011, 19:04:15 от Soil »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Возможно, но если есть товары с ценой, то цены не будет.
*

orexov_m

  • Захожу иногда
  • 297
  • 24 / 0
читал читал, но так и не вычитал
Можно ли результат поиска выводить в виде таблицы?
мне например надо чтобы выводилось только название, цена и кнопка купить?


уже решил :)
правится в файлике /components/com_vm_ext_search_free/files/vm_ext_search_helper.php
в районе 210 строки
« Последнее редактирование: 20.09.2011, 13:05:27 от orexov_m »
Skype:orekhov.mikhail, ICQ: 580077720, Телега
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

VirtueMart - SMS уведомления о сделаном заказе.

Автор bork

Ответов: 42
Просмотров: 23289
Последний ответ 26.07.2021, 22:11:25
от Oleg91
Отчеты и статистика для VirtueMart

Автор 4kict

Ответов: 25
Просмотров: 10376
Последний ответ 14.01.2021, 00:09:53
от gartes
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

Ответов: 105
Просмотров: 53909
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

Ответов: 97
Просмотров: 28014
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
Поиск для магазина автозапчастей как на Exist.ru!

Автор zzaj

Ответов: 21
Просмотров: 8831
Последний ответ 11.05.2016, 13:50:02
от Pahom72