Как взаимодействовать из плагина со страницей?
Есть плагин, на событие от minishop2 — msOnGetOrderCost
Как правильно из него взаимодействовать со страницей?
Все что нахожу в документации по плагинам, это —
Но мне нужно уведомить пользователя что сумма его заказа позволяет получить подарок.
Меня бы устроила возможность взаимодействовать со страницей на JS, например выполнить некий скрипт, но опять же через
Я знаю что у минишопа можно создавать свои функции обратного вызова
Спасибо.
Как правильно из него взаимодействовать со страницей?
Все что нахожу в документации по плагинам, это —
$modx->event->output('Вас ожидает подарок на следующей странице');однако во всем примерах такой код вызывается как реакция на негативное событие. Ну тоесть не дать добавить товар или что-то еще. То есть всегда когда действие нужно остановить и для этих случае это срабатывает — я вижу красное уведомление jGrowl от минишоп и все ок.Но мне нужно уведомить пользователя что сумма его заказа позволяет получить подарок.
case 'msOnGetOrderCost':
if($cost>=$giftSum){
$modx->event->output('Вас ожидает подарок на следующей странице');
}
break;и про срабатывании я вижу уведомление на красном фоне и остановку всей остальной логики — то есть все цены после этого в корзине становятся равны нулю. (имеется ввиду те, которые должны были обновится)Меня бы устроила возможность взаимодействовать со страницей на JS, например выполнить некий скрипт, но опять же через
$modx->event->output('Вас ожидает подарок на следующей странице');нельзя передать код, только чистый текст, даже без html и при этом все равно все цены после вызова перестают обновлятся и становятся нулями.Я знаю что у минишопа можно создавать свои функции обратного вызова
miniShop2.Callbacks.add('Order.getcost.response.success', 'orders_add_ok', function(response) {
miniShop2.Message.success('Всё хорошо!');
console.log(response);
});и вроде бы это должно было решить мою задачу, однако не пойму, как передать свой response сюда из плагина, чтобы вывелось мое сообщение, да и вообще чтобы показывать сообшение исключительно при совпадении условия, а не всегда. Для этого лично для моей задачи нужно подмешать в response еще и сумму, начиная с которой дается подарок, чтобы потом на JS сравнить с итоговой суммой и только тогда показать уведомление.Спасибо.
Комментарии: 2
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Но Вы можете в JS на Order.getcost.response.success вызвать свой процессор. Ну и там уже делать все, что вам нужно.