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

Feione

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

Feione

  • Захожу иногда
  • 51
  • 0 / 0
  • Тяжелоооооо.......
Внесу поправку, улюк этот появяется только при совместном использовании с JoomlaWorks "Tabs & Slides" Module v1.0
что делать??
*

Feione

  • Захожу иногда
  • 51
  • 0 / 0
  • Тяжелоооооо.......
Кстати, может другой модуль посоветуете, мне просто удобно чтобы поиск сворачивался.
да, вот сайт market.leon.zp.ua
*

Arkadiy

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

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
вот такая трабла:
при выборе категории товара сторонним модулем выводит, что товаров всего скажем 11 и пагинация правильная
при выборе "расширенным" (стоит вывод позиций на странице 5) пагинация вместо 3-х страниц показывает 5 и при переходе на 3 страницу, вместо показа последнего товара выдает "поиск не дал результатов"
в категории где товаров 18, показывает что 7 страниц, при должных 4-х и при переходе на 4-ую выдает только 2 товара вместо 3-х, т.е. последний всегда "недадается" как-бы, ну и как в первом случае при переходе дальше  - поиск не дал
почему идет лишняя пагинация и куда девается последний товар?
кто встречал такое?  

при фильтрации "производителей" кол-во товаров показывает правильно, но пагинация, при 18 товарах и 5-ти на страницу показывает уже 8 страниц
« Последнее редактирование: 24.12.2011, 10:55:42 от Sedoy »
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
но вопрос по тому как убрать подкатегории остался Azn
Надо убрать рекурсию т.е. вхождение функции в саму себя в этой функции. Например строка
Цитировать
$this->list_tree($category_id, $child_id, $level, $selected_categories);

ДД. Тоже интересует вопрос как убрать подкатегории, только третьего уровня, т.е оставить 1 и 2 уровни ?
« Последнее редактирование: 26.12.2011, 10:31:49 от Jukov »
*

Feione

  • Захожу иногда
  • 51
  • 0 / 0
  • Тяжелоооооо.......
Прошу прощения, зря я грешил на JoomlaWorks "Tabs & Slides" Module v1.0.
Дело в том, что после редактирования \components\com_vm_ext_search_free\files\unisearch.php

С: for ($i = 0;$i < $level;$i++) {
                echo "–";
            }
            echo "|$level|";
            echo "&nbsp;" . $db->f("category_name"). "</option>";

На:for ($i=0;$i < $level;$i++)
            {
                echo "&nbsp;";
            }
   if ($i != 0) $wt = "&nbsp;&nbsp;";
   $wt.= $db->f("category_name");
   $wt.= "</option>";
   echo $wt;   

После выбора категории, производители превращаются в вопросительные знаки...
Если все вернуть как было, проблема не пропадает, а вот если переустановить компонент то все нормально, почему??
я что то не так делаю?
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
И еще было бы хорошо если б можно было выбирать отображение модуля по горизонтали как на рис.

Если есть решение подскажите пожалуйста! Спасибо!
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
Прошу прощения, зря я грешил на JoomlaWorks "Tabs & Slides" Module v1.0.
Дело в том, что после редактирования \components\com_vm_ext_search_free\files\unisearch.php

С: for ($i = 0;$i < $level;$i++) {
                echo "–";
            }
            echo "|$level|";
            echo "&nbsp;" . $db->f("category_name"). "</option>";

На:for ($i=0;$i < $level;$i++)
            {
                echo "&nbsp;";
            }
   if ($i != 0) $wt = "&nbsp;&nbsp;";
   $wt.= $db->f("category_name");
   $wt.= "</option>";
   echo $wt;   

После выбора категории, производители превращаются в вопросительные знаки...
Если все вернуть как было, проблема не пропадает, а вот если переустановить компонент то все нормально, почему??
я что то не так делаю?
А файл в какой кодировке сохраняешь? Надо в UTF - 8
*

Feione

  • Захожу иногда
  • 51
  • 0 / 0
  • Тяжелоооооо.......
А файл в какой кодировке сохраняешь? Надо в UTF - 8
я просто в тотал командере жму "правка" а потом "сохранить" раньше проблем не было...
а как сохранить именно в UTF - 8?
*

Jukov

  • Захожу иногда
  • 98
  • 1 / 0
я просто в тотал командере жму "правка" а потом "сохранить" раньше проблем не было...
а как сохранить именно в UTF - 8?
Жми Сохранить как... там выбирай кодировку
Точнее: Файл > Сохранить как
*

Sedoy

  • Давно я тут
  • 897
  • 87 / 10
  • Интересно,в какой кодировке пишут врачи?
в каком файле сидит "шаблон" вывода?
что-то у меня рвется он время от времени: кнопка "купить" слетает как бы на новую строку и раздвигает вывод позиции по вертикали
Что б правильно задать вопрос - нужно знать на него ответ!
FAQ по Joomla!
Где скачать шаблоны Joomla Статьи и обзоры Желаю Вам здоровья в личной жизни - живите долго и часто :)
*

Palomnik

  • Захожу иногда
  • 206
  • 10 / 0
Представляю вашему вниманию новый расширенный поиск по характеристикам товара.

Прошу прощения, нет возможности курить все страницы темы....Хотел уточнить: есть ли все-таки бесплатный вариант для пробы как в первом посте, только для j1.5 и wm1.1.5?
Кроме того, интересует, можете ли добавить в функционал поиск по заданным диапазонам цен (задаются в модуле через админку) и поиск по свойствам товара? За деньги, разумеется...
*

Arkadiy

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

Feione

  • Захожу иногда
  • 51
  • 0 / 0
  • Тяжелоооооо.......
Жми Сохранить как... там выбирай кодировку
Точнее: Файл > Сохранить как
сделал, не помогло, причем превращается в вопросительные знаки только графа производителей(
и что там не так...?
*

Palomnik

  • Захожу иногда
  • 206
  • 10 / 0
В платном это уже есть.

где-нибудь демо можно глянуть? и сколько денег стоит?
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
Тема платного компонента в моей подписи, в теме все следующие ссылки и условия.
*

Palomnik

  • Захожу иногда
  • 206
  • 10 / 0
Тема платного компонента в моей подписи, в теме все следующие ссылки и условия.

Я спросил конкретно, "демо" модуля можно где-то посмотреть? Вы меня отсылаете курить 130 страниц той темы и искать там ссылки... Странный маркетинговый ход для привлечения покупателей своих разработок. Желаю успехов.
*

Arkadiy

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

Palomnik

  • Захожу иногда
  • 206
  • 10 / 0
В первом сообщении все написано, совсем не обязательно читать следующие.

Ок, сорри... недосмотрел...
*

Jukov

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Скажите, а как добавить кнопку сброса к форме поиска?
*

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Я уже вставлял кнопку как данном сайте <input type="button" onclick="reset_form(0)" value="Сброс" class="sb" id="reset">, но она что то не работает. В чем может быть причина?
*

Arkadiy

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
А как прописать данную функцию? Просто я в скриптах не рублю вообще...
*

Arkadiy

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

zaur111

  • Захожу иногда
  • 233
  • 6 / 0
  • Заур Магомедов
Ну данная версия тоже вполне устраивает. Из-за одной кнопочки не хотелось бы покупать...
*

Arkadiy

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

zavarov

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
вроде как установил все работает но когда дело доходит до нажатия кнопки поиск то не чего не происходит))))
можно будет его настроить как показано здесь? в виде радиокнопок http://extremstyle.ua/catalogs/13733/
« Последнее редактирование: 28.12.2011, 13:44:51 от zavarov »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

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
Просмотров: 53915
Последний ответ 05.02.2017, 11:44:02
от Super_Panda
Модуль недавно просмотренные товары для VirtueMart 1.1.X

Автор aleks_yug

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

Автор zzaj

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