コード例 #1
0
ファイル: checkout.php プロジェクト: joomlacorner/citruscart
 /**
  * Prepares data for and returns the html of the order summary layout.
  * This assumes that $this->_order has already had its properties set
  *
  * return unknown_type
  */
 public function getOrderSummary($layout = 'cart')
 {
     // get the order object
     $order = $this->_order;
     // a TableOrders object (see constructor)
     Citruscart::load('CitruscartHelperCoupon', 'helpers.coupon');
     // Coupons
     $coupons_id = array();
     $coupons = $order->getCoupons();
     foreach ($coupons as $cg) {
         foreach ($cg as $c) {
             if ($c->coupon_type == '1') {
                 $coupons_id = array_merge($coupons_id, CitruscartHelperCoupon::getCouponProductIds($c->coupon_id));
             }
         }
     }
     $model = $this->getModel('carts');
     $user = $this->user;
     $model->setState('filter_user', $user->id);
     $view = $this->getView($this->get('suffix'), 'html');
     $view->set('_controller', $this->get('suffix'));
     $view->set('_view', $this->get('suffix'));
     $view->set('_doTask', true);
     $view->set('hidemenu', true);
     $view->setModel($model, true);
     $view->assign('state', $model->getState());
     $view->assign('coupons', $coupons_id);
     $config = $this->defines;
     $show_tax = $config->get('display_prices_with_tax');
     $view->assign('show_tax', $show_tax);
     $view->assign('using_default_geozone', false);
     $view->assign('order', $order);
     Citruscart::load("CitruscartHelperBase", 'helpers._base');
     $product_helper = CitruscartHelperBase::getInstance('Product');
     $order_helper = CitruscartHelperBase::getInstance('Order');
     $tax_sum = 0;
     $orderitems = $order->getItems();
     $taxes = CitruscartHelperTax::calculateTax($orderitems, 4, $order->getBillingAddress(), $order->getShippingAddress());
     foreach ($orderitems as $item) {
         $item->price = $item->orderitem_final_price / $item->orderitem_quantity;
         if ($show_tax) {
             $order->order_subtotal += $item->orderitem_tax;
         }
     }
     $view->assign('orderitems', $orderitems);
     // Checking whether shipping is required
     $showShipping = false;
     $cartsModel = $this->getModel('carts');
     if ($isShippingEnabled = $cartsModel->getShippingIsEnabled()) {
         $showShipping = true;
         $view->assign('shipping_total', $order->getShippingTotal());
     }
     $view->assign('showShipping', $showShipping);
     //START onDisplayOrderItem: trigger plugins for extra orderitem information
     if (!empty($orderitems)) {
         $onDisplayOrderItem = $order_helper->onDisplayOrderItems($orderitems);
         $view->assign('onDisplayOrderItem', $onDisplayOrderItem);
     }
     //END onDisplayOrderItem
     $coupons_present = false;
     $model = JModelLegacy::getInstance('Coupons', 'CitruscartModel');
     $model->setState('filter_enabled', '1');
     if ($coupons = $model->getList()) {
         $coupons_present = true;
     }
     $view->assign('coupons_present', $coupons_present);
     $view->setLayout($layout);
     $view->setTask(true);
     ob_start();
     $view->display();
     $html = ob_get_contents();
     ob_end_clean();
     return $html;
 }