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

Ю

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
  • Век живи - Век учись!
сделать способ доставки чтобы при выборе пункта по области сделать тоже выпадающий список городов и нас пунктов Свердловской области так, чтобы при выборе нужного города автоматически система считала стоимость доставки учитывая что стоимость одного километра 10 руб.
*

Ю

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
  • Век живи - Век учись!
написала конечно коряво, но думаю, что все понятно, что имею я ввиду, кто делал отзовитесь, сколько это будет стоить?
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
+1 Присоединяюсь к вопросу не где не нашел решения
*

ELLE

  • Глобальный модератор
  • 4506
  • 893 / 0
специфичная задача. вам в коммерческий раздел
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
*

12mv

  • Давно я тут
  • 548
  • 20 / 0
  • Гульсина
+1 Тоже интересует этот вопрос, как на платной основе так и на бесплатной если есть решение)
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
А может сделать пересчет доставки в зависимости от километража и селект с пунктами которые можно редактировать самому
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
а зачем селект если пользователь указывает свой город на странице "адрес"?
*

Ю

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
  • Век живи - Век учись!
зачем селект? да пользователь указывает свой адрес и должно получаться так что когда он ввел этот адрес система считает кол-во км до этого пункта и умножает на стоимость доставки за один км. т.е. если он пишет Н.Тагил то считеся расстояние до Тагила к примру 200 км. умножается на 10 - стоимость доставки за один км и подставляется в стоимость доставки итоговая стоимость доставки.
*

Ю

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
  • Век живи - Век учись!
а есть список городов и расстояние до них?
можно по Яндекс карте все города и нас пункты узнать долго только но если нада то почему бы и нет можно
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
Что бы в селект можно забить уже свои готовые пункты со своей ценой
Пункт это не обязательно город также это может быть район или область неподалеку от города
И в этом случае клиенту можно показать что вы можете доставить только в эти пункты и сразу увидит цену
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
+1 Ого вот это спрос!

Не думаю что нужно делать аддон со списком готовых городов
это негуманно (А если я работаю в Монголии?!) :)

А вот это решение я поддержу
Что бы в селект можно забить уже свои готовые пункты со своей ценой
Пункт это не обязательно город также это может быть район или область неподалеку от города
и километраж тоже нужен
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
и километраж тоже нужен
руками в админке наполнять?
Город - километраж
Город - километраж
Город - километраж
--//--
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Уточню В таком аддоне надо четко разделить Километраж или селект с пунктами
Либо сделать два аддона
Чтобы клиент не смог выбрать вбить сразу два показателя Километраж и селект с пунктом
*

verstalshik

  • Завсегдатай
  • 1754
  • 95 / 1
мне кажется, реально сделать скриптом, а в виде модуля в коммерческий, модуль - это я так понимаю чтоб потом продавать?))))
расстояние Яндекс вам посчитате - именно по автодороге, реальный километраж, далее jQuery посчитает, только цену за км вставить и все!
http://visionvip.ru/mapsearch.html Сочи попробуйте посчитать

другое дело, что доставка доставке рознь, газель едет или еврофура....

тогда надо считать по своим расценкам по объемному весу - http://uvm-group.ru/
один раз вбить и все в принципе, не так часто меняется тариф-то
« Последнее редактирование: 29.04.2014, 20:33:02 от verstalshik »
❶ НЕ СПРАВЛЯЕШЬСЯ САМ???  Поможем тут...  ❷ Калькулятор доставки - ЗАКАЖИ!!!...  ❸ Каталог компаний - ЖМИ!!!...  ❹ НОВИЧКИ! ВСЕ сюда! Первая консультация БЕСПЛАТНО!!
*

Ю

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
  • Век живи - Век учись!
вот пример сайта на котором реализована эта функция http://e96.ru/basket что бы мне хотелось переделать не так как у них: да я согласна что пусть сам человек(покупатель) вводит свой город, нас пункт и система бы сама это просчитала, тогда получается надо быть уверенным, что человек ввел нас пункт который забит в базе..... тогда, наверное, чтобы были автоподсказки при заполнении городов, нас пунктов....
И все-же, ничего такого подобного нет ни у кого, оплата за труд гарантируется.... Мне честно очень интересно, узнать и посмотреть как это работает, потому как, на мой взгляд, это вещь!
*

Ю

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
  • Век живи - Век учись!
там кстати на этом сайте выбирается из предложенного списка город, нас. пункт и система сама подсчитывает стоимость доставки http://e96.ru/basket 
*

Cerber

  • Захожу иногда
  • 266
  • 34 / 0
  • Богиня Иштар и ее пес Пи..ц
Как такой вариант
« Последнее редактирование: 17.05.2014, 16:58:54 от Cerber »
*

ХайВей

  • Осваиваюсь на форуме
  • 39
  • 2 / 0
А кто ни будь сделал такое расширение?
*

pvi1

  • Давно я тут
  • 566
  • 16 / 2
Как такой вариант

Есть готовый такой вариант?
*

pvi1

  • Давно я тут
  • 566
  • 16 / 2

Или еще вариант: есть программа расчета http://www.avtodispetcher.ru/distance/export/joomla/. Ее можно как-то пристегнуть?

*

diana1975

  • Захожу иногда
  • 245
  • 1 / 0
очень жду такого решения, срочно нужно. Неужели нет готового скрипта-калькулятора стоимости доставки в зависимости от выбранного клиентом города? Поделитесь, не корысти ради, не забудьте, пожалуйста(я знаю волшебное слово!), прикрепить к нему краткую инструкцию по подключению к магазину.  ;)
Вот, к примеру, как в olin.ru
« Последнее редактирование: 10.09.2015, 23:08:58 от diana1975 »
*

diana1975

  • Захожу иногда
  • 245
  • 1 / 0
Учиться некогда, решением недовольна, пока устраивает вариант Аддон доставки EMS Russian Post для JoomShopping
 от Arkadiy
*

shop-user

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

Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль доставки Сдек или Яндекс

Автор Preview

Ответов: 4
Просмотров: 7512
Последний ответ 10.09.2025, 19:11:06
от nevigen
Расчет стоимости доставки в JoomShopping 3.12.3

Автор teanin

Ответов: 17
Просмотров: 12285
Последний ответ 23.04.2023, 11:55:30
от tigra-uki
Плагины доставки для Польши

Автор Alex_gs

Ответов: 1
Просмотров: 2182
Последний ответ 21.03.2023, 14:36:37
от kit2m2
Стоимость заказа без стоимости доставки

Автор Alex_gs

Ответов: 3
Просмотров: 2684
Последний ответ 17.01.2023, 15:04:06
от kit2m2
Аддон доставки Почта России по API

Автор sergeytolkachyov

Ответов: 4
Просмотров: 3499
Последний ответ 22.06.2022, 09:54:30
от sergeytolkachyov