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

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
AceSearh + JoomShopping
« : 05.02.2012, 02:34:06 »

Мной потрачено время на создания приложение для популярного компонента поиска в Joomla 1.6-2.5 AceSearh, что позволяет находить товары и категории товаров в компоненте интернет-магазина JoomShopping. Если кого заинтересует, вот ссылка на страницу моего расширения.
Основные возможности:
    AceSearh находит товары JoomShopping (опционально отображает название категории найденого товара);
    AceSearh находит категории товаров JoomShopping (опционально);
    ищет в названии, кратком и полном описании товаров и категорий;
    ищет также в коде товара (опционально, если нужно можно добавить и другие поля для поиска даже пользовательские).
    генерация SEF-ссылок JoomShopping;
    
Посмотреть в работе можно на сайте заказчика этого расширения.
Список возможностей AceSearh на сайте производителя


(скриншот сделан на демо товарах самого JoomShopping)
« Последнее редактирование: 10.02.2012, 20:02:02 от Fisk »
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

N.Nick

  • Захожу иногда
  • 233
  • 5 / 0
Re: AceSearh + JoomShopping
« Ответ #1 : 05.02.2012, 04:35:33 »
А увидеть где нибудь демо можно?
*

evpadallas

  • Захожу иногда
  • 171
  • 42 / 1
Re: AceSearh + JoomShopping
« Ответ #2 : 05.02.2012, 09:58:39 »
Можно установить плагин от JoomShopping для стандартного поиска Joomla!, и очень даже не плохо будет происходить поиск по магазину.
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Re: AceSearh + JoomShopping
« Ответ #3 : 05.02.2012, 13:00:30 »
А увидеть где нибудь демо можно?
Можно будет увидеть в работе как только рассчитается со мной заказчик этого плагина, пока прикрепил скриншот в шапке темы.

Можно установить плагин от JoomShopping для стандартного поиска Joomla!, и очень даже не плохо будет происходить поиск по магазину.
если Вас удовлетворяет стандартный поиск Joomla, тогда пользуйтесь им на здоровье.
« Последнее редактирование: 05.02.2012, 13:22:24 от Fisk »
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Re: AceSearh + JoomShopping
« Ответ #4 : 05.02.2012, 13:35:04 »
А СЕФ ссылки поддерживаются ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Re: AceSearh + JoomShopping
« Ответ #5 : 05.02.2012, 13:53:43 »
А СЕФ ссылки поддерживаются ?
да, ипользуется генерация ссылок через сам магазин, получаются ссылки "http://test17.com/shop/cars/saloon-e90"
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: AceSearh + JoomShopping
« Ответ #6 : 05.02.2012, 15:36:28 »
во-первых, ссылка у меня не открывается. это только у меня?

во-вторых, в чем же все таки разница между вашим поиском и связкой стандартного и плагином от производителя?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Re: AceSearh + JoomShopping
« Ответ #7 : 05.02.2012, 16:08:43 »
во-первых, ссылка у меня не открывается. это только у меня?
а что пишет Ваш браузер? О.о

во-вторых, в чем же все таки разница между вашим поиском и связкой стандартного и плагином от производителя?
вот список возможностей AceSearh на сайте производителя
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: AceSearh + JoomShopping
« Ответ #8 : 05.02.2012, 16:23:13 »
мой браузер выдает пустую страницу. вот ее код:
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru-ru" lang="ru-ru" dir="ltr" >
<head>
<jdoc:include type="head" />
<link rel="apple-touch-icon" href="/templates/yoo_enterprise/apple_touch_icon.png" />
<script type="text/javascript">

  var _gaq = _gaq || [];
  _gaq.push(['_setAccount', 'UA-22906475-1']);
  _gaq.push(['_trackPageview']);

  (function() {
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
  })();

</script>
</head>

<body id="page" class="yoopage column-left  ">

что это за HTML конструкция такая: <jdoc:include type="head" /> :)
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: AceSearh + JoomShopping
« Ответ #9 : 05.02.2012, 16:34:22 »
вот список возможностей AceSearh на сайте производителя

а, теперь понятно. я просто раньше об этом компоненте не слышал, и из вашего поста понял так, что вы написали компонент поиска для жш. а вы оказывается плагин связки AceSearh с жш написали. ну что ж, кто пользуется AceSearh - должен оценить
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Fisk

  • Захожу иногда
  • 70
  • 22 / 0
Re: AceSearh + JoomShopping
« Ответ #10 : 10.02.2012, 19:53:46 »
А увидеть где нибудь демо можно?
в шапку добавил сайт заказчика (он пока в разработке) где и установлено расширение AceSearh + JoomShopping.

З.Ы. Специально для него добавил поиск по Коду товара (артикулу) и ШтрихКоде товара (дополнительное поле).
<a href="http://fisk.te.ua" title="Создание сайтов быстро, кчествено и не дорого!">Создание сайтов быстро, кчествено и не дорого! А также написание расширений для CMS Joomla</a>
*

denxio

  • Захожу иногда
  • 172
  • 4 / 0
Re: AceSearh + JoomShopping
« Ответ #11 : 04.09.2012, 10:29:58 »
Могу сказать одно, что расширение работает как положено, за что автору спасибо.
А теперь возникла необходимость в еще одной доработке к этому расширению. Требуется выводить рядом с результатами поиска изображение товара. Возможно ли такое?
*

tigra-uki

  • Давно я тут
  • 565
  • 11 / 0
  • Joom'лiстка
Re: AceSearh + JoomShopping
« Ответ #12 : 15.05.2015, 21:28:23 »
подскажите, пожалуйста, возможен ли поиск по коду товара?
Слишком сконцентрированное внимание необходимо разбавлять действием.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Мы починили поиск для JoomShopping

Автор Dimidrol-Pruper

Ответов: 101
Просмотров: 34592
Последний ответ 24.06.2024, 14:20:58
от kit2m2
Плагин - Вывод значения поля из таблицы продуктов в корзине JoomShopping

Автор draff

Ответов: 3
Просмотров: 2192
Последний ответ 26.02.2024, 07:00:01
от kit2m2
Плагин - Товар на складе или Товар под заказ для JoomShopping [Скачать]

Автор kit2m2

Ответов: 58
Просмотров: 11707
Последний ответ 18.05.2023, 12:59:00
от Akeksandr
[Решено] Комплект товаров JoomShopping - конструктор

Автор vgromov

Ответов: 96
Просмотров: 31437
Последний ответ 14.12.2022, 15:21:24
от kit2m2
Функционал сравнение товаров в JoomShopping

Автор falur

Ответов: 53
Просмотров: 15613
Последний ответ 22.08.2022, 09:54:16
от kit2m2