public function actionUpdateBasket()
    {
        $rr = new RequestResponse();

        if ($rr->isRequestAjaxPost()) {
            $basket_id = (int)\Yii::$app->request->post('basket_id');
            $quantity = (float)\Yii::$app->request->post('quantity');

            /**
             * @var $shopBasket ShopBasket
             */
            $shopBasket = ShopOrderItem::find()->where(['id' => $basket_id])->one();
            if ($shopBasket) {
                if ($quantity > 0) {
                    $product = $shopBasket->product;

                    if ($product->measure_ratio > 1) {
                        if ($quantity % $product->measure_ratio != 0) {
                            $quantity = $product->measure_ratio;
                        }
                    }

                    $shopBasket->quantity = $quantity;
                    if ($shopBasket->recalculate()->save()) {
                        $rr->success = true;
                        $rr->message = \Yii::t('skeeks/shop/app', 'Postion successfully updated');
                    }

                } else {
                    if ($shopBasket->delete()) {
                        $rr->success = true;
                        $rr->message = \Yii::t('skeeks/shop/app', 'Position successfully removed');
                    }
                }

            }

            \Yii::$app->shop->cart->shopOrder->link('cmsSite', \Yii::$app->cms->site);
            $rr->data = \Yii::$app->shop->cart->shopOrder->jsonSerialize();
            return (array)$rr;
        } else {
            return $this->goBack();
        }
    }
public function actionUpdateBasket()
    {
        $rr = new RequestResponse();

        if ($rr->isRequestAjaxPost()) {
            $basket_id = (int)\Yii::$app->request->post('basket_id');
            $quantity = (float)\Yii::$app->request->post('quantity');

            /**
             * @var $shopBasket ShopBasket
             */
            $shopBasket = ShopOrderItem::find()->where(['id' => $basket_id])->one();
            if ($shopBasket) {
                if ($quantity > 0) {
                    $product = $shopBasket->product;

                    if ($product->measure_ratio > 1) {
                        if ($quantity % $product->measure_ratio != 0) {
                            $quantity = $product->measure_ratio;
                        }
                    }

                    $shopBasket->quantity = $quantity;
                    if ($shopBasket->recalculate()->save()) {
                        $rr->success = true;
                        $rr->message = \Yii::t('skeeks/shop/app', 'Postion successfully updated');
                    }

                } else {
                    if ($shopBasket->delete()) {
                        $rr->success = true;
                        $rr->message = \Yii::t('skeeks/shop/app', 'Position successfully removed');
                    }
                }

            }

            \Yii::$app->shop->cart->shopOrder->link('cmsSite', \Yii::$app->cms->site);
            $rr->data = \Yii::$app->shop->cart->shopOrder->jsonSerialize();
            return (array)$rr;
        } else {
            return $this->goBack();
        }
    }
public function actionUpdateBasket ( ) { $ rr = new RequestResponse ( ) ; if ( $ rr -> isRequestAjaxPost ( ) ) { $ basket_id = ( int ) \ Yii :: $ app -> request -> post ( 'basket_id' ) ; $ quantity = ( float ) \ Yii :: $ app -> request -> post ( 'quantity' ) ; /**
             * @var $shopBasket ShopBasket
             */ $ shopBasket = ShopOrderItem :: find ( ) -> where ( [ 'id' => $ basket_id ] ) -> one ( ) ; if ( $ shopBasket ) { if ( $ quantity > 0 ) { $ product = $ shopBasket -> product ; if ( $ product -> measure_ratio > 1 ) { if ( $ quantity % $ product -> measure_ratio != 0 ) { $ quantity = $ product -> measure_ratio ; } } $ shopBasket -> quantity = $ quantity ; if ( $ shopBasket -> recalculate ( ) -> save ( ) ) { $ rr -> success = true ; $ rr -> message = \ Yii :: t ( 'skeeks/shop/app' , 'Postion successfully updated' ) ; } } else { if ( $ shopBasket -> delete ( ) ) { $ rr -> success = true ; $ rr -> message = \ Yii :: t ( 'skeeks/shop/app' , 'Position successfully removed' ) ; } } } \ Yii :: $ app -> shop -> cart -> shopOrder -> link ( 'cmsSite' , \ Yii :: $ app -> cms -> site ) ; $ rr -> data = \ Yii :: $ app -> shop -> cart -> shopOrder -> jsonSerialize ( ) ; return ( array ) $ rr ; } else { return $ this -> goBack ( ) ; } }
Updating the positions of the basket, such as changing the number of

@return array|\yii\web\Response
@throws \Exception
Updating the positions of the basket such as changing the number of