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

sova

  • Захожу иногда
  • 135
  • 22 / 1
Вот нашел.
Модуль поиска товаров Virtuaemart с помощью цифр и букв алфавита.(Virtuemart Alphanumeric Search Module ).

Добавил русский поиск.

[вложение удалено Администратором]
« Последнее редактирование: 04.10.2009, 18:17:15 от sova »
Поживу - увижу, доживу - узнаю, выживу - учту
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
*

sova

  • Захожу иногда
  • 135
  • 22 / 1
Уточню:
для русского поиска в архиве mod_vmalphasearch.zip  файл mod_vmalphasearch.php меняем на mod_vmalphasearch_RU.php предварительно переименовав его в mod_vmalphasearch.php
Поживу - увижу, доживу - узнаю, выживу - учту
*

frag79

  • Давно я тут
  • 612
  • 61 / 0
Тогда уточни еще для какой версии Virtuaemart
*

sova

  • Захожу иногда
  • 135
  • 22 / 1
Joomla 1.5.*  и VirtueMart 1.1.3
Поживу - увижу, доживу - узнаю, выживу - учту
*

sova

  • Захожу иногда
  • 135
  • 22 / 1
В первом посте добавил файл для поиска товара на украинском языке.
Поживу - увижу, доживу - узнаю, выживу - учту
*

RoJa

  • Новичок
  • 3
  • 1 / 0
Тема хоть и старая, но исправно гуглится, так что публикую здесь.

Я переделал модуль поиска по алфавиту, выложенный в шапке. От старого модуля осталась только пара строк sql-запроса и идея  ^-^
Итак.
  • полностью переписанный код (стал более наглядным, порой в ущерб краткости. Т.е. можно было сделать короче, но читабельность стала бы ниже);
  • теперь модуль 3 в 1 : поиск по русскому, украинскому, английскому алфавиту в одном модуле - ничего не нужно переименовывать, все настраивается через стандартный интерфейс Joomla
  • добавлена настройка стиля (цвет букв, фона и т.д.)
  • возможность в настройках вписать свой собственный css-стиль
  • интерфейс настроек переведен на два языка : русский и английский.

Считаю, что являюсь автором, т.к. модуль переделан на 95%.

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


Спасибо за внимание, качайте на здоровье.

Скачать модуль поиска товаров в VirtueMart по алфавиту

« Последнее редактирование: 12.08.2010, 10:30:12 от RoJa »
*

skyscraper

  • Захожу иногда
  • 252
  • 47 / 2
RoJa
как результаты поиска в main передать, а не тамже?
*

RoJa

  • Новичок
  • 3
  • 1 / 0
Сделали бы еще привязку к отдельным разделам и категориям, можно использовать было бы и в других целях, не только для vm..
Этот модуль предназначен специально для VM (select делается из таблиц VirtueMart), так что по сути - надо написать новый модуль, который будет юзать стандартный поиск Joomla. Только не понятно, зачем это нужно?
Тут используются начальные буквы товаров из каталога, Вам бы хотелось поиск по начальным буквам статей ? Не уверен, что это кто-то будет использовать.
« Последнее редактирование: 12.04.2011, 11:44:48 от RoJa »
*

RoJa

  • Новичок
  • 3
  • 1 / 0
RoJa
как результаты поиска в main передать, а не тамже?

Был еще похожий вопрос в личку (мне там запрещено отвечать ... суровые админы)

Цитировать
Здравствуйте!

Вы выложили хороший модуль, только вопрос, как вывести результаты работы модуля не ниже, а в поле вывода компонента (главной части сайта)?

Спасибо.

Точно не помню, но кажетсо системный вывод модуля и вывод main контента - не связаны между собой, можно поставить плагин который выводит модуль целиком внутри контента (точно помню, что такой был). Данный модуль может выводить только в своей области. Переделывать нет времени.

P.S. Да и не удобно это. Вывелось несколько результатов, нажали на первый - результаты поиска пропали, надо опять нажимать на поиск ... а тут они всегда под рукой.
« Последнее редактирование: 12.04.2011, 12:05:45 от RoJa »
*

Steem26

  • Осваиваюсь на форуме
  • 18
  • 0 / 0
У меня данный модуль не работает. Размещены товары в категориях, все сделано правильно, но при клике по букве просто появляется полоса фиолетового цвета с буквой которую я нажал. Версия VirtueMart 1.1.5 / Joomla 1.5.23. Так же есть еще один вопрос, как убрать буквы которые мне не нужны (например Э, Ю, Я, Ъ, Ь), пробовал убирать в коде, но чего не выходит. Заранее спасибо. 
*

sega

  • Захожу иногда
  • 272
  • 5 / 0
тоже самое, при выборе буквы ничего не происходит, видимо с 1.1.4 не работает..
*

lakshmi

  • Захожу иногда
  • 188
  • 5 / 0
Модуль супер а можно ли его научить проводить поиск товара и в под категориях, я вывел товары в главную категорию с помощью хака http://joomlaforum.ru/index.php/topic,44112.0.html но модуль поиска не видит товар из под категорий когда находишся в главной зато когда заходишь в подкатегорию все супер работает.
*

Ser_g

  • Осваиваюсь на форуме
  • 41
  • 0 / 0
Спасибо за модуль! очень хорош!
А есть какая нибудь возможно сделать так чтобы этот модуль выводил не сами товары а именно категории.
В моем случае есть 400 брендов = категорий. Нужно чтобы алфавитный указатель работал по ним. Тоесть при клике на букву, выводились бренды на букву А. а то сейчас выводятся сами товары.
Может есть модуль именно для категорий?
*

dkraev

  • Захожу иногда
  • 148
  • 7 / 0
Здравствуйте. А есть что-то подобное для VirtueMart 1.1.9 - все перерыл уже, не могу найти.
Данные модули не работают, просто перекидывают на главную страницу.
*

CastorTroy

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
  • "ET IN ARCADIA EGO"
Подымаю старую тему.
Вот может кто подскажет есть ли такой модуль для Joomla 2.5.14 и VirtueMart 2.0.24
*

CastorTroy

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
  • "ET IN ARCADIA EGO"
Подымаю старую тему.
Вот может кто подскажет есть ли такой модуль для Joomla 2.5.14 и VirtueMart 2.0.24
Уже Joomla обновилась до версии 2.5.16, а ответа так и нет.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Сортировка товаров по дате поступления

Автор coob

Ответов: 2
Просмотров: 2571
Последний ответ 21.06.2018, 08:40:05
от kungurskiy
IceVmCart - новый бесплатный модуль корзины для VirtueMart

Автор Grig2009

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

Автор aleks_yug

Ответов: 97
Просмотров: 28024
Последний ответ 25.10.2016, 15:03:07
от Igoritaly
Модуль Cherry Picker for VirtueMart

Автор flintstone

Ответов: 42
Просмотров: 26623
Последний ответ 04.01.2016, 21:25:50
от gleb22
Сортировка товаров категории по алфавиту

Автор atlet

Ответов: 5
Просмотров: 2087
Последний ответ 20.11.2015, 18:33:50
от atlet