public function display($tpl = null) { if (!isset($this->context) || $this->context == null) { $this->context = JeproshopContext::getContext(); } if (!$this->context->controller->isInitialized()) { $this->context->controller->initialize(); } $app = JFactory::getApplication(); $useSSL = isset($this->context->controller->ssl_enabled) && $this->context->conteoller->ssl_enabled && $app->input->get('enable_ssl') || JeproshopTools::usingSecureMode() ? true : false; $protocol_content = $useSSL ? 'https://' : 'http://'; /*$contextParams = $this->context->controller->getContextParams(); foreach ($contextParams as $assign_key => $assign_value){ if (!is_array($assign_value) && mb_substr($assign_value, 0, 1, 'utf-8') == '/' || $protocol_content == 'https://'){ $this->assignRef($assign_key, $protocol_content.JeproshopTools::getMediaServer($assign_value).$assign_value); }else{ $this->assignRef($assign_key, $assign_value); } }*/ if (!isset(self::$cache_products)) { $category = new JeproshopCategoryModelCategory(JeproshopContext::getContext()->shop->getCategoryId(), (int) JeproshopContext::getContext()->language->lang_id); $nb = (int) JeproshopSettingModelSetting::getValue('number_of_products_on_page'); self::$cache_products = JeproshopDefaultModelDefault::getProducts((int) JeproshopContext::getContext()->language->lang_id, 0, $nb ? $nb : 8, 'position'); } if (self::$cache_products === false || empty(self::$cache_products)) { self::$cache_products = false; } $this->assignRef('products', self::$cache_products); $display_add_product = JeproshopSettingModelSetting::getValue('display_category_attribute'); $this->assignRef('display_add_product', $display_add_product); $homeSize = JeproshopImageModelImage::getSize(JeproshopImageTypeModelImageType::getFormatName('home')); $this->assignRef('homeSize', $homeSize); $this->assignRef('pagination', JeproshopDefaultModelDefault::$_pagination); parent::display($tpl); }
public function assignSummaryInformations() { $context = JeproshopContext::getContext(); $summary = $context->cart->getSummaryDetails(); $customizedDatas = JeproshopProductModelProduct::getAllCustomizedDatas($context->cart->cart_id); // override customization tax rate with real tax (tax rules) if ($customizedDatas) { foreach ($summary['products'] as &$productUpdate) { $productId = (int) (isset($productUpdate->product_id) ? $productUpdate->product_id : $productUpdate->product_id); $productAttributeId = (int) (isset($productUpdate->product_attribute_id) ? $productUpdate->product_attribute_id : $productUpdate->product_attribute_id); if (isset($customizedDatas[$productId][$productAttributeId])) { $productUpdate->tax_rate = JeproshopTaxModelTax::getProductTaxRate($productId, $context->cart->{JeproshopSettingModelSetting::getValue('tax_address_type')}); } } JeproshopProductModelProduct::addCustomizationPrice($summary->products, $customizedDatas); } $cart_product_context = JeproshopContext::getContext()->cloneContext(); foreach ($summary['products'] as $key => $product) { $product->quantity = $product->cart_quantity; // for compatibility with 1.2 themes if ($cart_product_context->shop->shop_id != $product->shop_id) { $cart_product_context->shop = new JeproshopModelShop((int) $product->shop_id); } $null = null; $product->price_without_specific_price = JeproshopProductModelProduct::getStaticPrice($product->product_id, !JeproshopProductModelProduct::getTaxCalculationMethod(), $product->product_attribute_id, 2, null, false, false, 1, false, null, null, null, $null, true, true, $cart_product_context); if (JeproshopProductModelProduct::getTaxCalculationMethod()) { $product->is_discounted = $product->price_without_specific_price != $product->price; } else { $product->is_discounted = $product->price_without_specific_price != $product->price_wt; } } // Get available cart rules and unset the cart rules already in the cart $available_cart_rules = JeproshopCartRuleModelCartRule::getCustomerCartRules($this->context->language->lang_id, isset($this->context->customer->customer_id) ? $this->context->customer->customer_id : 0, true, true, true, $this->context->cart); $cart_cart_rules = $context->cart->getCartRules(); foreach ($available_cart_rules as $key => $available_cart_rule) { if (!$available_cart_rule->high_light || strpos($available_cart_rule->code, 'BO_ORDER_') === 0) { unset($available_cart_rules[$key]); continue; } foreach ($cart_cart_rules as $cart_cart_rule) { if ($available_cart_rule->cart_rule_id == $cart_cart_rule->cart_rule_id) { unset($available_cart_rules[$key]); continue 2; } } } $show_option_allow_separate_package = !$this->context->cart->isAllProductsInStock(true) && JeproshopSettingModelSetting::getValue('ship_when_available'); $this->assign($summary); //$this->assign('token_cart', Tools::getToken(false)); $this->assign('is_logged', $this->context->controller->isLogged); $this->assign('is_virtual_cart', $this->context->cart->isVirtualCart()); $this->assign('product_number', $this->context->cart->numberOfProducts()); $this->assign('voucher_allowed', JeproshopCartRuleModelCartRule::isFeaturePublished()); $this->assign('shipping_cost', $this->context->cart->getOrderTotal(true, JeproshopCartModelCart::ONLY_SHIPPING)); $this->assign('shipping_cost_tax_excluded', $this->context->cart->getOrderTotal(false, JeproshopCartModelCart::ONLY_SHIPPING)); $this->assign('customizedDatas', $customizedDatas); $this->assign('CUSTOMIZE_FILE', JeproshopProductModelProduct::CUSTOMIZE_FILE); $this->assign('CUSTOMIZE_TEXT_FIELD', JeproshopProductModelProduct::CUSTOMIZE_TEXT_FIELD); $this->assign('last_product_added', $this->context->cart->getLastProduct()); $this->assign('display_vouchers', $available_cart_rules); $this->assign('currency_sign', $this->context->currency->sign); $this->assign('currency_rate', $this->context->currency->conversion_rate); $this->assign('currency_format', $this->context->currency->format); $this->assign('currency_blank', $this->context->currency->blank); $this->assign('show_option_allow_separate_package', $show_option_allow_separate_package); $this->assign('small_size', JeproshopImageModelImage::getSize(JeproshopImageTypeModelImageType::getFormatName('small'))); /* $this->context->smarty->assign(array( 'HOOK_SHOPPING_CART' => Hook::exec('displayShoppingCartFooter', $summary), 'HOOK_SHOPPING_CART_EXTRA' => Hook::exec('displayShoppingCart', $summary) ));*/ }
/** * Assign template vars related to images */ protected function assignImages() { $app = JFactory::getApplication(); $images = $this->product->getImages((int) $this->context->cookie->lang_id); $product_images = array(); if (isset($images[0])) { $this->assignRef('mainImage', $images[0]); } foreach ($images as $image) { if ($image->cover) { $this->assignRef('mainImage', $image); $cover = $image; $cover->image_id = JeproshopSettingModelSetting::getValue('legacy_images') ? $this->product->product_id . '_' . $image->image_id : $image->image_id; $cover->only_image_id = (int) $image->image_id; } $product_images[(int) $image->image_id] = $image; } if (!isset($cover)) { if (isset($images[0])) { $cover = $images[0]; $cover->image_id = JeproshopSettingModelSetting::getValue('legacy_images') ? $this->product->product_id . '-' . $images[0]->image_id : $images[0]->image_id; $cover->only_image_id = (int) $images[0]->image_id; } else { $cover = new JObject(); $cover->image_id = $this->context->language->iso_code . '_default'; $cover->legend = JText::_('COM_JEPROSHOP_NO_PICTURE_LABEL'); $cover->title = JText::_('COM_JEPROSHOP_NO_PICTURE_LABEL'); } } $size = JeproshopImageModelImage::getSize(JeproshopImageTypeModelImageType::getFormatName('large')); $has_image = isset($cover->image_id) && (int) $cover->image_id ? array((int) $cover->image_id) : JeproshopProductModelProduct::getCover((int) $app->input->get('product_id')); $this->assignRef('has_image', $has_image); $this->assignRef('cover', $cover); $width = (int) $size->width; $this->assignRef('image_width', $width); $medium_size = JeproshopImageModelImage::getSize(JeproshopImageTypeModelImageType::getFormatName('medium')); $this->assignRef('medium_size', $medium_size); $large_size = JeproshopImageModelImage::getSize(JeproshopImageTypeModelImageType::getFormatName('large')); $this->assignRef('large_size', $large_size); $home_size = JeproshopImageModelImage::getSize(JeproshopImageTypeModelImageType::getFormatName('home')); $this->assignRef('home_size', $home_size); $cart_size = JeproshopImageModelImage::getSize(JeproshopImageTypeModelImageType::getFormatName('cart')); $this->assignRef('cart_size', $cart_size); //$this->assignRef('col_img_dir', _PS_COL_IMG_DIR_)); if (count($product_images)) { $this->assignRef('images', $product_images); } }