Кастомное ajax-событие корзины Minishop
Добрый день. Ранее на сайте срабатывало кастомное событие, позволяющее изменить в корзине выбранную опцию товара. Обновил Minishop и этот функционал полетел к чертям. Увидел, что из плагина Minishop пропало условие по моему событию, как и условия по другим событиям. Очевидно они перекочевали в код. Как теперь правильно восстановить кастомное событие?
Выглядело это на фронте так:
Выглядело это на фронте так:
if(isCartPage())
{
jQuery(".basic").fancySelect().on('change.fs', function () {
var key = jQuery(this).parents("tr.cart_item").attr("id");
var size = this.value;
var ms2_action = 'cart/change_size';
var ctx = 'web';
var data = {key:key, size:size,ms2_action:ms2_action, ctx:ctx};
jQuery.ajax({type: 'POST',
url: '/assets/components/minishop2/action.php',
data: data,
dataType: 'json',
success: function(data)
{
//data = jQuery.parseJSON(data);
console.log(data);
if(data.success)
{
miniShop2.Message.success(data.message);
}
else
{
miniShop2.Message.error(data.message);
}
console.log(data);
}
});
});
}
и на бэке<?php
class msMyCartHandler extends msCartHandler{
public function change_size($key, $size)
{
if (array_key_exists($key, $this->cart))
{
$cart = $this->get();
$productInCart = $cart[$key];
$product = $this->modx->getObject('msProduct',$productInCart['id']);
$properties = json_decode($product->properties,true);
$remains = $properties['msproductremains'];
if(isset($remains[$size]) && intval($remains[$size]) >= $productInCart['count'])
{
$productInCart['options']['size'] = $size;
$cart[$key] = $productInCart;
$this->set($cart);
return $this->success('Размер товара в корзине успешно изменен: «'.$size.'»', array('size'=>$size));
}
else
{
return $this->error('Товара выбранного размера нет в наличии в указанном количестве.', $this->status(array()));
}
}
else
{
return $this->error('ms2_cart_change_error', $this->status(array()));
}
}
}