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

Georgiy

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Настройка Interkassa вручную
« : 19.01.2013, 14:59:35 »
Всем, как говорится, доброго времени суток) Настраиваю интеркассу в магазине.
В общем есть проблема. Сижу уже вторые сутки.. и ничего вычитать или исправить не могу.

1. Выбираю товар(шаг 1)
Спойлер
[свернуть]
2. Выбираю интеркассу(шаг 2)
Спойлер
[свернуть]
3. Учитывается процент (шаг 3)
Спойлер
[свернуть]
4. ПРОШУ ВНИМАНИЯ(шаг 4) Сейчас при нажатии на кнопку "Далее" не происходит ничего, он не понимает куда идти. Мне нужно прописать в этой кнопке ссылку на Interkassa
Вопрос: Где ее прописать? :D Нужно в файле checout.php в components/com_jshopping/controllers. Что нужно изменить?
Если поможете, буду очень благодарен! ;) ^-^
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Re: Настройка Interkassa вручную
« Ответ #1 : 19.01.2013, 15:12:42 »
откройте любой платежный плгин и посмотрите как он устроен.
далее используйте доки от интеркассы по АПИ и сделайте нужный код плагина.

Прописать в сам плагин оплаты, что нужно изменить ? если там пусто то все.
Если там что то есть, то то что не соответствует требованиям интеркассы АПИ.
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Georgiy

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: Настройка Interkassa вручную
« Ответ #2 : 19.01.2013, 15:28:56 »
откройте любой платежный плгин и посмотрите как он устроен.
далее используйте доки от интеркассы по АПИ и сделайте нужный код плагина.

Прописать в сам плагин оплаты, что нужно изменить ? если там пусто то все.
Если там что то есть, то то что не соответствует требованиям интеркассы АПИ.

Да я понимаю, что, к примеру, могу скачать плагин для Робокассы и что-то там изменить. Я только не понимаю, что :)

А никак нельзя изменить ссылку на 4-м шаге на ссылку интеркассы? (мне кажется, так легче).
Код
<form name="payment" action="https://www.interkassa.com/lib/payment.php" method="post" 
enctype="application/x-www-form-urlencoded" accept-charset="cp1251">
<input type="hidden" name="ik_shop_id" value="FDCDF2F4-AFA6-03AC-8130-902A0EA5957E">
<input type="hidden" name="ik_payment_amount" value="1.00">
<input type="hidden" name="ik_payment_id" value="PAYMENT_ID">
<input type="hidden" name="ik_payment_desc" value="PAYMENT_DESCRIPTION">
<input type="submit" name="process" value="Оплатить">
</form>
Следовательно ссылка:
Код
https://www.interkassa.com/lib/payment.php
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Re: Настройка Interkassa вручную
« Ответ #3 : 19.01.2013, 15:32:27 »
у каждого платежного сервиса свои тараканы, свои переменные передаются, по своим протолколам и форматам.
и отзыв об операции получается по своему.

изменить просто ссылку на платежжный сервис не получится.
так бы уже данвно были бы все платежные плагины для всех систем :)
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

Georgiy

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: Настройка Interkassa вручную
« Ответ #4 : 19.01.2013, 15:44:08 »
Мда, весело))
ладно, спасибо Вам большое, буду сейчас читать, что такое API)) и что-то пробовать)
а где можнопосмотреть требования API от интеркассы, не знаете, случайно?

Благодарю, nevigen!
*

Georgiy

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: Настройка Interkassa вручную
« Ответ #5 : 19.01.2013, 18:17:09 »
Если кто-то что-то еще по этому вопросу знает, не оставайтесь, так сказать равнодушными)) напишите!
*

freytas11

  • Захожу иногда
  • 83
  • 0 / 0
Re: Настройка Interkassa вручную
« Ответ #6 : 04.02.2013, 00:08:33 »
Добрый вечер. Как успехи с интеркассой? Тоже нужен этот метод оплаты, удивляюсь почему его еще никто не довел до ума.
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Re: Настройка Interkassa вручную
« Ответ #7 : 04.02.2013, 13:00:27 »
А в Интеркассу никто не пробовал обращаться ?
Это их интерес в первую очередь... Я вообще не понимаю..
платежные сервисы.. должны отслеживать обращения и популярность систем, а Вы молчите.
Если бы к ним 100 раз постучали.. они бы уже давно сделали. потому что видят что это массово. А так они сидят и думают что какой то фрилансер сделал какой то магазин на каком то ЖШ, и теперь 1 какой то умник хочет плагин. Им 1 умник не интересен а 100 интересно.
понимаете ?
Если оно им не надо... то Вам зачем ? Это они вам должны помочь работать через них, а не Вы просится.
"помогииииите...... хотим Вам немного денег оставить....".
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

freytas11

  • Захожу иногда
  • 83
  • 0 / 0
Re: Настройка Interkassa вручную
« Ответ #8 : 04.02.2013, 20:55:48 »
А в Интеркассу никто не пробовал обращаться ?
Это их интерес в первую очередь... Я вообще не понимаю..
платежные сервисы.. должны отслеживать обращения и популярность систем, а Вы молчите.
Если бы к ним 100 раз постучали.. они бы уже давно сделали. потому что видят что это массово. А так они сидят и думают что какой то фрилансер сделал какой то магазин на каком то ЖШ, и теперь 1 какой то умник хочет плагин. Им 1 умник не интересен а 100 интересно.
понимаете ?
Если оно им не надо... то Вам зачем ? Это они вам должны помочь работать через них, а не Вы просится.
"помогииииите...... хотим Вам немного денег оставить....".


Написал. Вот ответ:

Если нет в разделе подключение, тогда нужно искать в Интернете.

Данные заявки
===================
Заявка №:IAM-623064
Отдел:INTERKASSA - Технические вопросы
Приоритет:Низкий
Статус:Закрыт
*

nevigen

  • Moderator
  • 10452
  • 863 / 25
  • http://n*****n.com
Re: Настройка Interkassa вручную
« Ответ #9 : 04.02.2013, 21:21:33 »
жесть....
Вы уверены что Вам нужен такой сервис ?
Если у Вас пропадут деньги ответ будет таким же ?

я бы не пользовался их услугами...
это же СЕРВИС !
не банк, не система вирутальных денег, это СЕРВИС, а какой тут сервис ?
Профессиональные / Бесплатные решения для JoomShopping
Не лечи бесплатно, ибо тот, кто лечится бесплатно, рано или поздно перестает ценить свое здоровье,
а тот, кто лечит бесплатно, рано или поздно перестает ценить результаты своего труда/ (с) Гиппократ?
Не ищите ответов, ищите решение !
*

MotorHead

  • Осваиваюсь на форуме
  • 20
  • 0 / 0
Re: Настройка Interkassa вручную
« Ответ #10 : 07.02.2013, 16:06:05 »
Ужас. Зачем вручную? Есть готовый плагин работы с Интеркасса. Опробован, работает.
Смотреть здесь
В данное время есть только одна проблема - не отправляется на e-mail уведомление от магазина о успешном платеже, разбираюсь.

Всё проверено и работает.

PS Задумался. Этот топик создан 19.01.13.
В Google банальный запрос Interkassa JoomShopping на первой же странице выдаёт мой модуль на пром.юа, размещённый 18.10.12.
Может что-то я неправильно понимаю?
« Последнее редактирование: 11.02.2013, 12:57:43 от MotorHead »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Onpay. Кто работает с ними, по платежным системам (настройка)

Автор Undorik

Ответов: 0
Просмотров: 1454
Последний ответ 29.01.2013, 09:42:51
от Undorik