Пример #1
0
 public function actionShipping()
 {
     $this->step = 2;
     $cart = cart::model()->findByPk(Yii::app()->user->getState('cart_ID'));
     if ($_POST['carrier'] && !empty($_POST['carrier'])) {
         if ($model = carrier_entity::model()->findByPk($_POST['carrier'])) {
             $cart->cart_carrier_ID = intval($_POST['carrier']);
             $cart->save();
             $this->redirect(array('payment'));
             exit;
         }
     }
     if (!isset($cart->cart_address_ID) or empty($cart->cart_address_ID)) {
         $this->redirect(array('index'));
     }
     $address = address_entity::model()->findByPk($cart->cart_address_ID);
     $zoneID = $address->getZoneId();
     $carrier = carrier_entity::getByZone($zoneID);
     foreach ($carrier as $key => $row) {
         if (!($weightID = weight_range::validateCarrier($cart->getWeightTotal(), $row['carrier_ID']))) {
             unset($carrier[$key]);
             continue;
         }
         $carrier[$key]['price'] = $cart->getOrderShippingCost($row['carrier_ID']);
         $carrier[$key]['selected'] = false;
         if ($cart->cart_carrier_ID == $row['carrier_ID']) {
             $carrier[$key]['selected'] = true;
         }
     }
     $this->render('shipping', array('carrier' => $carrier));
 }