Добрый день. Никак не могу передать номер заказа Корзины из одного action в другой, то есть в корзине человек делает заказ, данные сохраняются в базу, а затем следует открывать Success страницу данного ордера. Ка это сделать? Прикрепляю actionView и actionSuccess()
P.S: Нужно правильно redirect прописать
public function actionView(){
$session = Yii::$app->session;
$session->open();
$this->setMeta('Корзина');
$order = new Order();
if($order->load(Yii::$app->request->post())){
$order->qty = $session['cart.qty'];
$order->sum = $session['cart.sum'];
if($order->save()){
$this->saveOrderItems($session['cart'], $order->id);
Yii::$app->session->setFlash('Success', 'Ваш заказ принят.');
//Send message
Yii::$app->mailer->compose('order', ['session'=>$session])
->setFrom(['site@mail.ru' => 'yii2.loc'])
->setTo($order->email)
->setSubject('Заказ с сайта')
->send();
Yii::$app->mailer->compose('order', ['session'=>$session])
->setFrom(['site@mail.ru' => 'yii2.loc'])
->setTo(Yii::$app->params['adminEmail'])
->setSubject('Заказ с сайта')
->send();
$session->remove('cart');
$session->remove('cart.qty');
$session->remove('cart.sum');
return $this->refresh();
}
else{
Yii::$app->session->setFlash('Error', 'Ошибка');
}
}
//Как перекинуть человека на Success page с данным ордером id???
return $this->render('view', compact('session', 'order'));
}
protected function saveOrderItems($items, $order_id){
foreach ($items as $id=> $item){
$order_items = new OrderItems();
$order_items->order_id = $order_id;
$order_items->product_id = $id;
$order_items->name = $item['name'];
$order_items->price = $item['price'];
$order_items->qty_item = $item['qty'];
$order_items->sum_item = $item['price'] * $item['qty'];
$order_items->save();
}
}
public function actionSuccess($id) {
$session = Yii::$app->session;
$model = Order::findOne($id);
return $this->render('success');
}