Новости 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 Ответов
  • 207104 Просмотров
*

varg8

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Два вопроса:
1)Как можно добавить выбор количества товаров в результатах поиска?
2)Как можно не переходить в корзину при нажатии кнопки купить, а только передавать туда выбранный товар?
*

Arkadiy

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

varg8

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
1. Найти форму корзины и отредактировать как хочется.
2. Приделать AJAX к кнопке корзины.
Вы можете это сделать платно? Сколько будет стоить?
*

Arkadiy

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

varg8

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
А не легче платный модуль купить? Индивидуальная работа всегда гораздо дороже.
А в платном это всё есть? Вы же писали что бесплатный отличается только тем, что построен на выпадающих списках.
*

varg8

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
В каком файле прописана форма кнопки купить? Которая в списке результатов видна.
*

Arkadiy

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

Здравствуйте!
Немного переделал модуль и компонент. Из одного сделал 3 штуки для разных целей. Сайт kama35.ru.
Все бы хорошо, но проблема в следующем:
когда выбираешь категории товаров в поиске для шин, то во всех случаях (кроме одного кама евро) появляются параметры поиска поиска шин, а при выборе "Кама евро" не появляется (нужно включать чекбокс)
Аналогичная ситуация при переходе по категориям магазина.
Не подскажите как это исправить.

Кстати на локальном такая проблема не возникает.
*

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
У меня проблема, не могу понять, в чем дело, целый день мучаюсь.
Установил модуль и компонет поиска.
Добавил всего один товар в VM.
При установленном КАТЕГОРИЯ "выбор категории" или "все категории" пишет Количество товаров в выборке = 4, хотя товар всего 1! А в выборе характеристик товара почему-то указаны характеристики, которого у этого товара нет.
Если в блоке КАТЕГОРИЯ выбрать конкретную категорию, что все отображается исключительно правильно.
Помогите разобраться, в чем дело?
« Последнее редактирование: 17.11.2011, 19:06:25 от Noralla »
*

xoxol39

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Хохол...
вот у меня в характеристиках товаров есть значения не целые например 6,50 8,25 вот а в поиске он выводит всё только до запятой то есть 6 8 как сделать чтобы он все знаки выводил?
з.ы. в типах товара нормально записаны не целые а с десятичными знаками значения а в поиске выдает только целые
как попрпавить чтобы все значки выдавал?
смотрел отдельно в товарах как забиты значения в типы. забито все правильно если дробное то дробное если целое то целое
а почему он не целые числа выводит непонятно, хотя для этого типа стоит значение целый но указаны виды какие должны быть типа 6,50;8,25; и так далее может быть вид с целого на другой какой-нибудь для корректного отображения  надо сменить при поиске ?
Дробное число должно вводиться ЧЕРЕЗ ТОЧКУ, а не через запятую. Тогда всё отлично работает.
*

xoxol39

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Хохол...
Работает криво, com_vm_ext_search, mod_vm_universal_search

1) Заклинивает (не раскрывается) меню аккордион.
2) В результатах поиска выдает все товары.
3) При переходе на следующую страницу результатов, открывает главную страницу магазина.
4) Не отключается поиск по артикулу. (в настройках выключен)
Посмотреть здесь http://aklima-t.ru

Очень срочно, помогите пжлст. 1 дек. сдавать сайт.
« Последнее редактирование: 18.11.2011, 16:49:17 от xoxol39 »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
1. Меню аккордеон причем?
2. Как выводишь товары (способов вывода не один).
3. см. п.2
4. А в моем компоненте и нет поиска по артикулу.
5. И о каком раширении сейчас идет речть?
*

xoxol39

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Хохол...
1. Меню аккордеон причем?
2. Как выводишь товары (способов вывода не один).
3. см. п.2
4. А в моем компоненте и нет поиска по артикулу.
5. И о каком раширении сейчас идет речть?
1) Я не знаю как это связано, но когда отключаю модуль, (mod_vm_universal_search) аккордион работает нормально.
2) Выведены через Virtuemat (категории на главной) (не совсем понял вопрос).
5) Работает криво, com_vm_ext_search, mod_vm_universal_search

Возможно я ошибся веткой, переходил из этой темы в другие и...
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
1. Значит конфликтуют, надо улаживать, для этого необходима некоторая квалификация.
2. Не к тебе.
3. Тут не про эту версию, тут люди, отблагодарившие разработчиков спрашивают.
4. и т.п.

Тут про эту версию, она не совершенна и не исправлялась уже около года, попробуй истратить деньги на платный аналог, если не поможет, попробуй истратить деньги на его установку.
« Последнее редактирование: 18.11.2011, 19:13:20 от Arkadiy »
*

xoxol39

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Хохол...
Спасибо, буду тратить и пробовать, пишут, что на 1.1.9 работает.
« Последнее редактирование: 18.11.2011, 19:16:42 от xoxol39 »
*

xoxol39

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
  • Хохол...
Чтобы не ошибиться, это здесь http://joomlaforum.ru/index.php/topic,111319.3630.html платный аналог?
*

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Arkadiy, если вам не сложно, вы не могли бы помочь мне с моей проблемой?
Посмотрите пожалуйста, если вам не трудно на сайте http://www.norall.bget.ru
Если категория не выбрана, показывает, что товаров 4, хотя их всего 6, а с параметром только 1.
И при этом в вариантах выбора параметров появились элементы, которых нет в параметрах этого товара.
Кроме того, если изменить значение параметра у этого одного товара, то в вариантах выбора параметра будет уже 3 элемента для выбора, т.е предыдущие тоже остаются.
Если категорию выбрать, то все работает правильно.
Менял шаблон на дефолтный, все также, дело не в шаблоне.
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Значит есть еще что-то, посмотри что в таблицах характеристик хранится.
*

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Значит есть еще что-то, посмотри что в таблицах характеристик хранится.
Подскажите пожалуйста, что это за таблицы и где они находятся?
« Последнее редактирование: 19.11.2011, 11:53:52 от Noralla »
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
В базе данных, дальше сложно будет объяснить, надо вникать.
*

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
В базе данных, дальше сложно будет объяснить, надо вникать.
Могу я сейчас купить платную версию, и в случае, если проблема останется, вы поможете мне ее решить?
*

Arkadiy

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

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Не мешай мух с котлетами.
Я не понял, если я куплю платный модуль, и он будет вот так же глючить на моем сайте, то это будут мои проблемы?
Это не относится к тех.поддержке?
« Последнее редактирование: 19.11.2011, 20:26:23 от Noralla »
*

Arkadiy

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

Noralla

  • Осваиваюсь на форуме
  • 45
  • 4 / 0
Я имею ввиду что модуль тут нипричем, уже сотню раз убеждался.
Хорошо, если это проблема не в модуле, то можете вы за отдельную оплату сделать так, чтобы он у меня работал на сайте?
*

Arkadiy

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

buslle

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Здравствуйте!
Подскажите пожалуйста, как в фильтр добавить стандартную сортировку товаров. Необходимо, чтоб после фильтрации можно было упорядочить товары по цене
*

buslle

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

Arkadiy

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

buslle

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Можно.
Код
$q .= "ORDER BY #__{vm}_product.product_id DESC ";
Заменить на нужное

Это, случайно, не мой случай? Могу добиться этим сортировки по цене?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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