/** * 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; }