/** * @see FrontController::initContent() */ public function initContent() { if ($oPrediggoResult = $this->launchSearch((int) $this->oPrediggoConfig->search_nb_items)) { if (isset($this->context->cookie->id_compare)) { $this->context->smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) $this->context->cookie->id_compare)); } $this->context->smarty->assign(array('page_name' => 'prediggo_search_page', 'sPrediggoQuery' => $this->sQuery, 'aPrediggoProducts' => $this->oPrediggoCall->getProducts($oPrediggoResult, (int) $this->context->cookie->id_lang), 'aDidYouMeanWords' => $oPrediggoResult->getDidYouMeanWords(), 'aSortingOptions' => $oPrediggoResult->getSortingOptions(), 'aCancellableFiltersGroups' => $oPrediggoResult->getCancellableFiltersGroups(), 'aDrillDownGroups' => $oPrediggoResult->getDrillDownGroups(), 'aChangePageLinks' => $oPrediggoResult->getChangePageLinks(), 'oSearchStatistics' => $oPrediggoResult->getSearchStatistics(), 'bSearchandizingActive' => $this->oPrediggoConfig->searchandizing_active, 'aCustomRedirections' => $oPrediggoResult->getCustomRedirections(), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'sImageType' => Tools::version_compare(_PS_VERSION_, '1.5.1', '>=') ? 'home_default' : 'home', 'bRewriteEnabled' => (int) Configuration::get('PS_REWRITING_SETTINGS'))); } parent::initContent(); $this->setTemplate('search.tpl'); }
public function process() { parent::process(); //Clean compare product table CompareProduct::cleanCompareProducts('week'); $hasProduct = false; if (!Configuration::get('PS_COMPARATOR_MAX_ITEM')) { return Tools::redirect('404.php'); } if ($product_list = Tools::getValue('compare_product_list') and $postProducts = isset($product_list) ? rtrim($product_list, '|') : '') { $ids = array_unique(explode('|', $postProducts)); } elseif (isset(self::$cookie->id_compare)) { $ids = CompareProduct::getCompareProducts(self::$cookie->id_compare); } else { $ids = null; } if ($ids) { if (sizeof($ids) > 0) { if (sizeof($ids) > Configuration::get('PS_COMPARATOR_MAX_ITEM')) { $ids = array_slice($ids, 0, Configuration::get('PS_COMPARATOR_MAX_ITEM')); } $listProducts = array(); $listFeatures = array(); foreach ($ids as $id) { $curProduct = new Product((int) $id, true, (int) self::$cookie->id_lang); if (!Validate::isLoadedObject($curProduct)) { continue; } if (!$curProduct->active) { unset($ids[$k]); continue; } foreach ($curProduct->getFrontFeatures(self::$cookie->id_lang) as $feature) { $listFeatures[$curProduct->id][$feature['id_feature']] = $feature['value']; } $cover = Product::getCover((int) $id); $curProduct->id_image = Tools::htmlentitiesUTF8(Product::defineProductImage(array('id_image' => $cover['id_image'], 'id_product' => $id), self::$cookie->id_lang)); $curProduct->allow_oosp = Product::isAvailableWhenOutOfStock($curProduct->out_of_stock); $listProducts[] = $curProduct; } if (sizeof($listProducts) > 0) { $width = 80 / sizeof($listProducts); $hasProduct = true; $ordered_features = Feature::getFeaturesForComparison($ids, self::$cookie->id_lang); self::$smarty->assign(array('ordered_features' => $ordered_features, 'product_features' => $listFeatures, 'products' => $listProducts, 'link' => new Link(), 'width' => $width, 'homeSize' => Image::getSize('home'))); self::$smarty->assign('HOOK_EXTRA_PRODUCT_COMPARISON', Module::hookExec('extraProductComparison', array('list_ids_product' => $ids))); } } } self::$smarty->assign('hasProduct', $hasProduct); }
public function initContent() { parent::initContent(); if (isset($this->context->cookie->id_compare)) { $this->context->smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) $this->context->cookie->id_compare)); } $this->productSort(); // Product sort must be called before assignProductList() $this->assignScenes(); $this->assignSubcategories(); if ($this->category->id != 1) { $this->assignProductList(); } $this->context->smarty->assign(array('category' => $this->category, 'products' => isset($this->cat_products) && $this->cat_products ? $this->cat_products : null, 'id_category' => (int) $this->category->id, 'id_category_parent' => (int) $this->category->id_parent, 'return_category_name' => Tools::safeOutput($this->category->name), 'path' => Tools::getPath($this->category->id), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize('category'), 'mediumSize' => Image::getSize('medium'), 'thumbSceneSize' => Image::getSize('thumb_scene'), 'homeSize' => Image::getSize('home'), 'allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers())); $this->setTemplate(_PS_THEME_DIR_ . 'category.tpl'); }
public function processData() { $nbProducts = $this->getProducts(NULL, NULL, NULL, $this->orderBy, $this->orderWay, true); $this->pagination((int) $nbProducts); self::$smarty->assign('nb_products', (int) $nbProducts); $seller_products = $this->getProducts((int) self::$cookie->id_lang, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay); AgileHelper::AssignProductImgs($seller_products); $si_1531_later = version_compare(_PS_VERSION_, '1.5.3.1', ">="); include_once _PS_ROOT_DIR_ . "/modules/agilemultipleshop/agilemultipleshop.php"; $module = new AgileMultipleShop(); self::$smarty->assign(array('products' => (isset($seller_products) and $seller_products) ? $seller_products : NULL, 'id_location' => $this->id_location, 'agilesellerproducts_tpl' => _PS_ROOT_DIR_ . '/modules/' . (_PS_VERSION_ > '1.5' ? 'agilemultipleshop' : 'agilesellerproducts') . '/', 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('category') : 'category'), 'mediumSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('medium') : 'medium'), 'thumbSceneSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('thumb_scene') : 'thumb_scene'), 'homeSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('home') : 'home'), 'path' => $module->getL('Shop By Location'))); $ver = (int) str_replace(".", "", _PS_VERSION_); if (isset(self::$cookie->id_compare)) { self::$smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) self::$cookie->id_compare)); } self::$smarty->assign(array('seller_locations4page' => agilemultipleshop::getLocationListNV($this->location_level), 'location_level4page' => $this->location_level)); self::$smarty->assign(array('allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'))); }
public function init() { /* * Globals are DEPRECATED as of version 1.5. * Use the Context to access objects instead. * Example: $this->context->cart */ global $useSSL, $cookie, $smarty, $cart, $iso, $defaultCountry, $protocol_link, $protocol_content, $link, $css_files, $js_files, $currency; if (self::$initialized) { return; } self::$initialized = true; parent::init(); // If current URL use SSL, set it true (used a lot for module redirect) if (Tools::usingSecureMode()) { $useSSL = true; } // For compatibility with globals, DEPRECATED as of version 1.5 $css_files = $this->css_files; $js_files = $this->js_files; // If we call a SSL controller without SSL or a non SSL controller with SSL, we redirect with the right protocol if (Configuration::get('PS_SSL_ENABLED') && $_SERVER['REQUEST_METHOD'] != 'POST' && $this->ssl != Tools::usingSecureMode()) { header('HTTP/1.1 301 Moved Permanently'); header('Cache-Control: no-cache'); if ($this->ssl) { header('Location: ' . Tools::getShopDomainSsl(true) . $_SERVER['REQUEST_URI']); } else { header('Location: ' . Tools::getShopDomain(true) . $_SERVER['REQUEST_URI']); } exit; } if ($this->ajax) { $this->display_header = false; $this->display_footer = false; } // if account created with the 2 steps register process, remove 'accoun_created' from cookie if (isset($this->context->cookie->account_created)) { $this->context->smarty->assign('account_created', 1); unset($this->context->cookie->account_created); } ob_start(); // Init cookie language // @TODO This method must be moved into switchLanguage Tools::setCookieLanguage($this->context->cookie); $protocol_link = Configuration::get('PS_SSL_ENABLED') || Tools::usingSecureMode() ? 'https://' : 'http://'; $useSSL = isset($this->ssl) && $this->ssl && Configuration::get('PS_SSL_ENABLED') || Tools::usingSecureMode() ? true : false; $protocol_content = $useSSL ? 'https://' : 'http://'; $link = new Link($protocol_link, $protocol_content); $this->context->link = $link; if ($id_cart = (int) $this->recoverCart()) { $this->context->cookie->id_cart = (int) $id_cart; } if ($this->auth && !$this->context->customer->isLogged($this->guestAllowed)) { Tools::redirect('index.php?controller=authentication' . ($this->authRedirection ? '&back=' . $this->authRedirection : '')); } /* Theme is missing */ if (!is_dir(_PS_THEME_DIR_)) { throw new PrestaShopException(sprintf(Tools::displayError('Current theme unavailable "%s". Please check your theme directory name and permissions.'), basename(rtrim(_PS_THEME_DIR_, '/\\')))); } if (Configuration::get('PS_GEOLOCATION_ENABLED')) { if (($newDefault = $this->geolocationManagement($this->context->country)) && Validate::isLoadedObject($newDefault)) { $this->context->country = $newDefault; } } $currency = Tools::setCurrency($this->context->cookie); if (isset($_GET['logout']) || $this->context->customer->logged && Customer::isBanned($this->context->customer->id)) { $this->context->customer->logout(); Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null); } elseif (isset($_GET['mylogout'])) { $this->context->customer->mylogout(); Tools::redirect(isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null); } /* Cart already exists */ if ((int) $this->context->cookie->id_cart) { $cart = new Cart($this->context->cookie->id_cart); if ($cart->OrderExists()) { unset($this->context->cookie->id_cart, $cart, $this->context->cookie->checkedTOS); $this->context->cookie->check_cgv = false; } elseif (intval(Configuration::get('PS_GEOLOCATION_ENABLED')) && !in_array(strtoupper($this->context->cookie->iso_code_country), explode(';', Configuration::get('PS_ALLOWED_COUNTRIES'))) && $cart->nbProducts() && intval(Configuration::get('PS_GEOLOCATION_NA_BEHAVIOR')) != -1 && !FrontController::isInWhitelistForGeolocation() && !in_array($_SERVER['SERVER_NAME'], array('localhost', '127.0.0.1'))) { unset($this->context->cookie->id_cart, $cart); } elseif ($this->context->cookie->id_customer != $cart->id_customer || $this->context->cookie->id_lang != $cart->id_lang || $currency->id != $cart->id_currency) { if ($this->context->cookie->id_customer) { $cart->id_customer = (int) $this->context->cookie->id_customer; } $cart->id_lang = (int) $this->context->cookie->id_lang; $cart->id_currency = (int) $currency->id; $cart->update(); } /* Select an address if not set */ if (isset($cart) && (!isset($cart->id_address_delivery) || $cart->id_address_delivery == 0 || !isset($cart->id_address_invoice) || $cart->id_address_invoice == 0) && $this->context->cookie->id_customer) { $to_update = false; if (!isset($cart->id_address_delivery) || $cart->id_address_delivery == 0) { $to_update = true; $cart->id_address_delivery = (int) Address::getFirstCustomerAddressId($cart->id_customer); } if (!isset($cart->id_address_invoice) || $cart->id_address_invoice == 0) { $to_update = true; $cart->id_address_invoice = (int) Address::getFirstCustomerAddressId($cart->id_customer); } if ($to_update) { $cart->update(); } } } if (!isset($cart) || !$cart->id) { $cart = new Cart(); $cart->id_lang = (int) $this->context->cookie->id_lang; $cart->id_currency = (int) $this->context->cookie->id_currency; $cart->id_guest = (int) $this->context->cookie->id_guest; $cart->id_shop_group = (int) $this->context->shop->id_shop_group; $cart->id_shop = $this->context->shop->id; if ($this->context->cookie->id_customer) { $cart->id_customer = (int) $this->context->cookie->id_customer; $cart->id_address_delivery = (int) Address::getFirstCustomerAddressId($cart->id_customer); $cart->id_address_invoice = $cart->id_address_delivery; } else { $cart->id_address_delivery = 0; $cart->id_address_invoice = 0; } // Needed if the merchant want to give a free product to every visitors $this->context->cart = $cart; CartRule::autoAddToCart($this->context); } else { $this->context->cart = $cart; } /* get page name to display it in body id */ // Are we in a payment module $module_name = ''; if (Validate::isModuleName(Tools::getValue('module'))) { $module_name = Tools::getValue('module'); } if (!empty($this->page_name)) { $page_name = $this->page_name; } elseif (!empty($this->php_self)) { $page_name = $this->php_self; } elseif (Tools::getValue('fc') == 'module' && $module_name != '' && Module::getInstanceByName($module_name) instanceof PaymentModule) { $page_name = 'module-payment-submit'; } elseif (preg_match('#^' . preg_quote($this->context->shop->physical_uri, '#') . 'modules/([a-zA-Z0-9_-]+?)/(.*)$#', $_SERVER['REQUEST_URI'], $m)) { $page_name = 'module-' . $m[1] . '-' . str_replace(array('.php', '/'), array('', '-'), $m[2]); } else { $page_name = Dispatcher::getInstance()->getController(); $page_name = preg_match('/^[0-9]/', $page_name) ? 'page_' . $page_name : $page_name; } $this->context->smarty->assign(Meta::getMetaTags($this->context->language->id, $page_name)); $this->context->smarty->assign('request_uri', Tools::safeOutput(urldecode($_SERVER['REQUEST_URI']))); /* Breadcrumb */ $navigationPipe = Configuration::get('PS_NAVIGATION_PIPE') ? Configuration::get('PS_NAVIGATION_PIPE') : '>'; $this->context->smarty->assign('navigationPipe', $navigationPipe); // Automatically redirect to the canonical URL if needed if (!empty($this->php_self) && !Tools::getValue('ajax')) { $this->canonicalRedirection($this->context->link->getPageLink($this->php_self, $this->ssl, $this->context->language->id)); } Product::initPricesComputation(); $display_tax_label = $this->context->country->display_tax_label; if (isset($cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}) && $cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}) { $infos = Address::getCountryAndState((int) $cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $country = new Country((int) $infos['id_country']); $this->context->country = $country; if (Validate::isLoadedObject($country)) { $display_tax_label = $country->display_tax_label; } } $languages = Language::getLanguages(true, $this->context->shop->id); $meta_language = array(); foreach ($languages as $lang) { $meta_language[] = $lang['iso_code']; } $compared_products = array(); if (Configuration::get('PS_COMPARATOR_MAX_ITEM') && isset($this->context->cookie->id_compare)) { $compared_products = CompareProduct::getCompareProducts($this->context->cookie->id_compare); } $this->context->smarty->assign(array('mobile_device' => $this->context->getMobileDevice(), 'link' => $link, 'cart' => $cart, 'currency' => $currency, 'cookie' => $this->context->cookie, 'page_name' => $page_name, 'hide_left_column' => !$this->display_column_left, 'hide_right_column' => !$this->display_column_right, 'base_dir' => _PS_BASE_URL_ . __PS_BASE_URI__, 'base_dir_ssl' => $protocol_link . Tools::getShopDomainSsl() . __PS_BASE_URI__, 'content_dir' => $protocol_content . Tools::getHttpHost() . __PS_BASE_URI__, 'base_uri' => $protocol_content . Tools::getHttpHost() . __PS_BASE_URI__ . (!Configuration::get('PS_REWRITING_SETTINGS') ? 'index.php' : ''), 'tpl_dir' => _PS_THEME_DIR_, 'modules_dir' => _MODULE_DIR_, 'mail_dir' => _MAIL_DIR_, 'lang_iso' => $this->context->language->iso_code, 'come_from' => Tools::getHttpHost(true, true) . Tools::htmlentitiesUTF8(str_replace(array('\'', '\\'), '', urldecode($_SERVER['REQUEST_URI']))), 'cart_qties' => (int) $cart->nbProducts(), 'currencies' => Currency::getCurrencies(), 'languages' => $languages, 'meta_language' => implode(',', $meta_language), 'priceDisplay' => Product::getTaxCalculationMethod((int) $this->context->cookie->id_customer), 'is_logged' => (bool) $this->context->customer->isLogged(), 'is_guest' => (bool) $this->context->customer->isGuest(), 'add_prod_display' => (int) Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'shop_name' => Configuration::get('PS_SHOP_NAME'), 'roundMode' => (int) Configuration::get('PS_PRICE_ROUND_MODE'), 'use_taxes' => (int) Configuration::get('PS_TAX'), 'show_taxes' => (int) (Configuration::get('PS_TAX_DISPLAY') == 1 && (int) Configuration::get('PS_TAX')), 'display_tax_label' => (bool) $display_tax_label, 'vat_management' => (int) Configuration::get('VATNUMBER_MANAGEMENT'), 'opc' => (bool) Configuration::get('PS_ORDER_PROCESS_TYPE'), 'PS_CATALOG_MODE' => (bool) Configuration::get('PS_CATALOG_MODE') || !(bool) Group::getCurrent()->show_prices, 'b2b_enable' => (bool) Configuration::get('PS_B2B_ENABLE'), 'request' => $link->getPaginationLink(false, false, false, true), 'PS_STOCK_MANAGEMENT' => Configuration::get('PS_STOCK_MANAGEMENT'), 'quick_view' => (bool) Configuration::get('PS_QUICK_VIEW'), 'shop_phone' => Configuration::get('PS_SHOP_PHONE'), 'compared_products' => is_array($compared_products) ? $compared_products : array(), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'))); // Add the tpl files directory for mobile if ($this->useMobileTheme()) { $this->context->smarty->assign(array('tpl_mobile_uri' => _PS_THEME_MOBILE_DIR_)); } // Deprecated $this->context->smarty->assign(array('id_currency_cookie' => (int) $currency->id, 'logged' => $this->context->customer->isLogged(), 'customerName' => $this->context->customer->logged ? $this->context->cookie->customer_firstname . ' ' . $this->context->cookie->customer_lastname : false)); $assign_array = array('img_ps_dir' => _PS_IMG_, 'img_cat_dir' => _THEME_CAT_DIR_, 'img_lang_dir' => _THEME_LANG_DIR_, 'img_prod_dir' => _THEME_PROD_DIR_, 'img_manu_dir' => _THEME_MANU_DIR_, 'img_sup_dir' => _THEME_SUP_DIR_, 'img_ship_dir' => _THEME_SHIP_DIR_, 'img_store_dir' => _THEME_STORE_DIR_, 'img_col_dir' => _THEME_COL_DIR_, 'img_dir' => _THEME_IMG_DIR_, 'css_dir' => _THEME_CSS_DIR_, 'js_dir' => _THEME_JS_DIR_, 'pic_dir' => _THEME_PROD_PIC_DIR_); // Add the images directory for mobile if ($this->useMobileTheme()) { $assign_array['img_mobile_dir'] = _THEME_MOBILE_IMG_DIR_; } // Add the CSS directory for mobile if ($this->useMobileTheme()) { $assign_array['css_mobile_dir'] = _THEME_MOBILE_CSS_DIR_; } foreach ($assign_array as $assign_key => $assign_value) { if (substr($assign_value, 0, 1) == '/' || $protocol_content == 'https://') { $this->context->smarty->assign($assign_key, $protocol_content . Tools::getMediaServer($assign_value) . $assign_value); } else { $this->context->smarty->assign($assign_key, $assign_value); } } /* * These shortcuts are DEPRECATED as of version 1.5. * Use the Context to access objects instead. * Example: $this->context->cart */ self::$cookie = $this->context->cookie; self::$cart = $cart; self::$smarty = $this->context->smarty; self::$link = $link; $defaultCountry = $this->context->country; $this->displayMaintenancePage(); if ($this->restrictedCountry) { $this->displayRestrictedCountryPage(); } if (Tools::isSubmit('live_edit') && !$this->checkLiveEditAccess()) { Tools::redirect('index.php?controller=404'); } $this->iso = $iso; $this->context->cart = $cart; $this->context->currency = $currency; }
/** * Initializes page content variables */ public function initContent() { parent::initContent(); $this->setTemplate(_PS_THEME_DIR_ . 'category.tpl'); if (!$this->customer_access) { return; } if (isset($this->context->cookie->id_compare)) { $this->context->smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) $this->context->cookie->id_compare)); } // Product sort must be called before assignProductList() $this->productSort(); $this->assignScenes(); $this->assignSubcategories(); $this->assignProductList(); $products = $this->category->getProducts($this->context->language->id, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay); $products_options = ProductOption::getProductOptions($this->context->language->id); $combinations = $this->getProductAttributeCombinations($products); // $this->context->smarty->assign('combinations', $combinations); $this->context->smarty->assign(array('category' => $this->category, 'combinations' => $combinations, 'description_short' => Tools::truncateString($this->category->description, 350), 'products' => isset($this->cat_products) && $this->cat_products ? $this->cat_products : null, 'products_options' => isset($products_options) && $products_options ? $products_options : null, 'id_category' => (int) $this->category->id, 'id_category_parent' => (int) $this->category->id_parent, 'return_category_name' => Tools::safeOutput($this->category->name), 'path' => Tools::getPath($this->category->id), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize(ImageType::getFormatedName('category')), 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), 'thumbSceneSize' => Image::getSize(ImageType::getFormatedName('m_scene')), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), 'allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers(), 'body_classes' => array($this->php_self . '-' . $this->category->id, $this->php_self . '-' . $this->category->link_rewrite))); }
public function processData() { if (Module::isInstalled('agilemultipleshop') && Shop::$id_shop_owner > 0) { if (!Validate::isLoadedObject($this->seller)) { $this->errors[] = Tools::displayError('Seller does not exist'); } elseif (!$this->seller->active) { self::$smarty->assign('seller', $this->seller); } else { $rewrited_url = self::$link->getAgileSellerLink((int) $this->seller->id, $this->getSellerLinkRwrite()); $this->seller_info->description = _PS_VERSION_ > '1.5' ? Tools::nl2br($this->seller_info->description) : nl2br2($this->seller_info->description); self::$smarty->assign('seller', $this->seller); self::$smarty->assign('seller_info', $this->seller_info); $sellermodule = new AgileMultipleSeller(); $conf = Configuration::getMultiple($sellermodule->getCustomFields()); $custom_labels = $sellermodule->getCustomLabels(); self::$smarty->assign('conf', $conf); self::$smarty->assign('custom_labels', $custom_labels); $nbProducts = $this->getProducts(NULL, NULL, NULL, $this->orderBy, $this->orderWay, true); $this->pagination((int) $nbProducts); self::$smarty->assign('nb_products', (int) $nbProducts); $seller_products = $this->getProducts((int) self::$cookie->id_lang, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay); AgileHelper::AssignProductImgs($seller_products); $si_1531_later = version_compare(_PS_VERSION_, '1.5.3.1', ">="); $HOOK_SELLER_RATINGS = ''; if (Module::isInstalled('agilesellerratings')) { require_once _PS_ROOT_DIR_ . "/modules/agilesellerratings/agilesellerratings.php"; $rmodule = new AgileSellerRatings(); $HOOK_SELLER_RATINGS = $rmodule->getAverageRating($this->id_seller, AgileSellerRatings::RATING_TYPE_SELLER); } self::$smarty->assign(array('products' => (isset($seller_products) and $seller_products) ? $seller_products : NULL, 'id_seller' => (int) $this->seller->id, 'path' => $this->seller_info->company, 'agilesellerproducts_tpl' => _PS_ROOT_DIR_ . "/modules/agilesellerproducts/", 'agilemultipleshop_tpl' => _PS_ROOT_DIR_ . "/modules/agilemultipleshop/", 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('category') : 'category'), 'mediumSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('medium') : 'medium'), 'thumbSceneSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('thumb_scene') : 'thumb_scene'), 'homeSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('home') : 'home'), 'HOOK_SELLER_RATINGS' => $HOOK_SELLER_RATINGS, 'page_name' => 'agileseller')); $ver = (int) str_replace(".", "", _PS_VERSION_); if ($ver <= 1430) { } else { if ($ver <= 1451) { if (isset(self::$cookie->id_customer)) { self::$smarty->assign('compareProducts', CompareProduct::getCustomerCompareProducts((int) self::$cookie->id_customer)); } elseif (isset(self::$cookie->id_guest)) { self::$smarty->assign('compareProducts', CompareProduct::getGuestCompareProducts((int) self::$cookie->id_guest)); } } else { if (isset(self::$cookie->id_compare)) { self::$smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) self::$cookie->id_compare)); } } } } self::$smarty->assign(array('allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers())); } }
/** * Assign template vars related to page content * @see FrontController::initContent() */ public function initContent() { parent::initContent(); //Clean compare product table CompareProduct::cleanCompareProducts('week'); $hasProduct = false; if (!Configuration::get('PS_COMPARATOR_MAX_ITEM')) { return Tools::redirect('index.php?controller=404'); } if (($product_list = Tools::getValue('compare_product_list')) && ($postProducts = isset($product_list) ? rtrim($product_list, '|') : '')) { $ids = array_unique(explode('|', $postProducts)); } else { if (isset($this->context->cookie->id_compare)) { $ids = CompareProduct::getCompareProducts($this->context->cookie->id_compare); } else { $ids = null; } } if ($ids) { if (count($ids) > 0) { if (count($ids) > Configuration::get('PS_COMPARATOR_MAX_ITEM')) { $ids = array_slice($ids, 0, Configuration::get('PS_COMPARATOR_MAX_ITEM')); } $listProducts = array(); $listFeatures = array(); foreach ($ids as $k => &$id) { $curProduct = new Product((int) $id, true, $this->context->language->id); if (!Validate::isLoadedObject($curProduct) || !$curProduct->active || !$curProduct->isAssociatedToShop()) { if (isset($this->context->cookie->id_compare)) { CompareProduct::removeCompareProduct($this->context->cookie->id_compare, $id); } unset($ids[$k]); continue; } foreach ($curProduct->getFrontFeatures($this->context->language->id) as $feature) { $listFeatures[$curProduct->id][$feature['id_feature']] = $feature['value']; } $cover = Product::getCover((int) $id); $curProduct->id_image = Tools::htmlentitiesUTF8(Product::defineProductImage(array('id_image' => $cover['id_image'], 'id_product' => $id), $this->context->language->id)); $curProduct->allow_oosp = Product::isAvailableWhenOutOfStock($curProduct->out_of_stock); $listProducts[] = $curProduct; } if (count($listProducts) > 0) { $width = 80 / count($listProducts); $hasProduct = true; $ordered_features = Feature::getFeaturesForComparison($ids, $this->context->language->id); $this->context->smarty->assign(array('ordered_features' => $ordered_features, 'product_features' => $listFeatures, 'products' => $listProducts, 'width' => $width, 'homeSize' => Image::getSize(ImageType::getFormatedName('home')))); $this->context->smarty->assign('HOOK_EXTRA_PRODUCT_COMPARISON', Hook::exec('displayProductComparison', array('list_ids_product' => $ids))); } else { if (isset($this->context->cookie->id_compare)) { $object = new CompareProduct((int) $this->context->cookie->id_compare); if (Validate::isLoadedObject($object)) { $object->delete(); } } } } } $this->context->smarty->assign('hasProduct', $hasProduct); $this->setTemplate(_PS_THEME_DIR_ . 'products-comparison.tpl'); }
public function ajaxCall() { global $smarty, $cookie; $selected_filters = $this->getSelectedFilters(); $filter_block = $this->getFilterBlock($selected_filters); $this->getProducts($selected_filters, $products, $nb_products, $p, $n, $pages_nb, $start, $stop, $range, $combinations); // Add pagination variable $nArray = (int) Configuration::get('PS_PRODUCTS_PER_PAGE') != 10 ? array((int) Configuration::get('PS_PRODUCTS_PER_PAGE'), 10, 20, 50) : array(10, 20, 50); // Clean duplicate values $nArray = array_unique($nArray); asort($nArray); if (version_compare(_PS_VERSION_, '1.6.0', '>=') === true) { $this->context->controller->addColorsToProductList($products); } $category = new Category(Tools::getValue('id_category_layered', Configuration::get('PS_HOME_CATEGORY')), (int) $cookie->id_lang); // Generate meta title and meta description $category_title = empty($category->meta_title) ? $category->name : $category->meta_title; $category_metas = Meta::getMetaTags((int) $cookie->id_lang, 'category'); $title = ''; $keywords = ''; if (is_array($filter_block['title_values'])) { foreach ($filter_block['title_values'] as $key => $val) { $title .= ' > ' . $key . ' ' . implode('/', $val); $keywords .= $key . ' ' . implode('/', $val) . ', '; } } $title = $category_title . $title; if (!empty($title)) { $meta_title = $title; } else { $meta_title = $category_metas['meta_title']; } $meta_description = $category_metas['meta_description']; $keywords = substr(strtolower($keywords), 0, 1000); if (!empty($keywords)) { $meta_keywords = rtrim($category_title . ', ' . $keywords . ', ' . $category_metas['meta_keywords'], ', '); } $smarty->assign(array('homeSize' => Image::getSize(ImageType::getFormatedName('home')), 'nb_products' => $nb_products, 'category' => $category, 'pages_nb' => (int) $pages_nb, 'p' => (int) $p, 'n' => (int) $n, 'range' => (int) $range, 'start' => (int) $start, 'stop' => (int) $stop, 'n_array' => (int) Configuration::get('PS_PRODUCTS_PER_PAGE') != 10 ? array((int) Configuration::get('PS_PRODUCTS_PER_PAGE'), 10, 20, 50) : array(10, 20, 50), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'products' => $products, 'products_per_page' => (int) Configuration::get('PS_PRODUCTS_PER_PAGE'), 'static_token' => Tools::getToken(false), 'page_name' => 'category', 'nArray' => $nArray, 'compareProducts' => CompareProduct::getCompareProducts((int) $this->context->cookie->id_compare), 'combinations' => $combinations)); // Prevent bug with old template where category.tpl contain the title of the category and category-count.tpl do not exists if (file_exists(_PS_THEME_DIR_ . 'category-count.tpl')) { $category_count = $smarty->fetch(_PS_THEME_DIR_ . 'category-count.tpl'); } else { $category_count = ''; } if ($nb_products == 0) { $product_list = $this->display(__FILE__, 'blocklayered-no-products.tpl'); } else { $product_list = $smarty->fetch(_PS_THEME_DIR_ . 'product-list.tpl'); } $vars = array('filtersBlock' => utf8_encode($this->generateFiltersBlock($selected_filters)), 'productList' => utf8_encode($product_list), 'pagination' => $smarty->fetch(_PS_THEME_DIR_ . 'pagination.tpl'), 'categoryCount' => $category_count, 'meta_title' => $meta_title . ' - ' . Configuration::get('PS_SHOP_NAME'), 'heading' => $meta_title, 'meta_keywords' => isset($meta_keywords) ? $meta_keywords : null, 'meta_description' => $meta_description, 'current_friendly_url' => (int) $n == (int) $nb_products ? '#/show-all' : '#' . $filter_block['current_friendly_url'], 'filters' => $filter_block['filters'], 'nbRenderedProducts' => (int) $nb_products, 'nbAskedProducts' => (int) $n, 'combinations' => $combinations); if (version_compare(_PS_VERSION_, '1.6.0', '>=') === true) { $vars = array_merge($vars, array('pagination_bottom' => $smarty->assign('paginationId', 'bottom')->fetch(_PS_THEME_DIR_ . 'pagination.tpl'))); } /* We are sending an array in jSon to the .js controller, it will update both the filters and the products zones */ return Tools::jsonEncode($vars); }
public function processData() { if (Module::isInstalled('agilemultipleshop') && Shop::$id_shop_owner > 0) { if (!Validate::isLoadedObject($this->seller)) { $this->errors[] = Tools::displayError('Seller does not exist'); } elseif (!$this->seller->active) { self::$smarty->assign('seller', $this->seller); } else { $rewrited_url = self::$link->getAgileSellerLink((int) $this->seller->id, $this->getSellerLinkRwrite()); $this->seller_info->description = _PS_VERSION_ > '1.5' ? Tools::nl2br($this->seller_info->description) : nl2br2($this->seller_info->description); // Setting language and language level $language_level = explode(',', $this->seller_info->language_level); $language = explode(',', $this->seller_info->language); $language_array = array(); for ($x = 0; $x < count($language); $x++) { $language_array[] = $language[$x] . ' - ' . $language_level[$x]; } $this->seller_info->language = $language_array; self::$smarty->assign('seller', $this->seller); self::$smarty->assign('seller_info', $this->seller_info); $imgPath = _PS_ROOT_DIR_ . DS . 'img' . DS . 'as' . DS . $this->seller_info->id_sellerinfo; $licenseImg = _PS_ROOT_DIR_ . DS . 'img' . DS . 'as' . DS . $this->seller_info->id_sellerinfo . '_license'; $images = scandir($imgPath); unset($images[0]); unset($images[1]); $images = array_values($images); @($licenseDir = scandir($licenseImg)); $licenseExist = count($licenseDir) > 2 ? 1 : 0; $this->seller_info->seller_images = $images; $sellermodule = new AgileMultipleSeller(); $conf = Configuration::getMultiple($sellermodule->getCustomFields()); $custom_labels = $sellermodule->getCustomLabels(); self::$smarty->assign('conf', $conf); self::$smarty->assign('custom_labels', $custom_labels); $nbProducts = $this->getProducts(NULL, NULL, NULL, $this->orderBy, $this->orderWay, true); $this->pagination((int) $nbProducts); self::$smarty->assign('nb_products', (int) $nbProducts); $seller_products = $this->getProducts((int) self::$cookie->id_lang, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay); AgileHelper::AssignProductImgs($seller_products); $si_1531_later = version_compare(_PS_VERSION_, '1.5.3.1', ">="); $HOOK_SELLER_RATINGS = ''; if (Module::isInstalled('agilesellerratings')) { require_once _PS_ROOT_DIR_ . "/modules/agilesellerratings/agilesellerratings.php"; $rmodule = new AgileSellerRatings(); $HOOK_SELLER_RATINGS = $rmodule->getAverageRating($this->id_seller, AgileSellerRatings::RATING_TYPE_SELLER); } /*foreach($seller_products as $k => $v) { $country = $v['country']; $flagId = Country::getIdByName(1, $country); $seller_products[$k]['img_exist'] = file_exists(_PS_ROOT_DIR_ . DS . 'flag' . DS . 'mini'. DS . $flagId . '.jpg')? 1 : 0; $seller_products[$k]['img_name'] = $flagId . '.jpg'; }*/ foreach ($seller_products as $key => $value) { $seller_id = $value['id_seller']; $flagIds = self::getFlagsId($seller_id); foreach ($flagIds as $k => $flgId) { $seller_products[$key]['img_exist'][$k] = file_exists(_PS_ROOT_DIR_ . DS . 'flag' . DS . 'mini' . DS . $flgId . '.jpg') ? 1 : 0; $seller_products[$key]['img_name'][$k] = $flgId . '.jpg'; } } // die('<pre>' . print_r($seller_products, true)); self::$smarty->assign(array('products' => (isset($seller_products) and $seller_products) ? $seller_products : NULL, 'license_exist' => $licenseExist, 'id_seller' => (int) $this->seller->id, 'path' => $this->seller_info->company, 'agilesellerproducts_tpl' => _PS_ROOT_DIR_ . "/modules/agilesellerproducts/", 'agilemultipleshop_tpl' => _PS_ROOT_DIR_ . "/modules/agilemultipleshop/", 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('category') : 'category'), 'mediumSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('medium') : 'medium'), 'thumbSceneSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('thumb_scene') : 'thumb_scene'), 'homeSize' => Image::getSize($si_1531_later ? ImageType::getFormatedName('home') : 'home'), 'HOOK_SELLER_RATINGS' => $HOOK_SELLER_RATINGS, 'page_name' => 'agileseller')); $ver = (int) str_replace(".", "", _PS_VERSION_); if ($ver <= 1430) { } else { if ($ver <= 1451) { if (isset(self::$cookie->id_customer)) { self::$smarty->assign('compareProducts', CompareProduct::getCustomerCompareProducts((int) self::$cookie->id_customer)); } elseif (isset(self::$cookie->id_guest)) { self::$smarty->assign('compareProducts', CompareProduct::getGuestCompareProducts((int) self::$cookie->id_guest)); } } else { if (isset(self::$cookie->id_compare)) { self::$smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) self::$cookie->id_compare)); } } } } self::$smarty->assign(array('allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers())); } }
public function processData() { $ctauohff = "nbProducts"; $lqphkm = "nbProducts"; $ysyvzjxyh = "nbProducts"; ${"GLOBALS"}["dsdvggak"] = "seller_products"; ${$ctauohff} = $this->getProducts(NULL, NULL, NULL, $this->orderBy, $this->orderWay, true); ${"GLOBALS"}["wfbehuenkky"] = "si_1531_later"; $this->pagination((int) ${$lqphkm}); self::$smarty->assign("nb_products", (int) ${$ysyvzjxyh}); ${${"GLOBALS"}["hjmsmx"]} = $this->getProducts((int) self::$cookie->id_lang, (int) $this->p, (int) $this->n, $this->orderBy, $this->orderWay); ${"GLOBALS"}["eppbsdtlhhp"] = "si_1531_later"; AgileHelper::AssignProductImgs(${${"GLOBALS"}["dsdvggak"]}); ${${"GLOBALS"}["fvpbxlqzzc"]} = version_compare(_PS_VERSION_, "1.5.3.1", ">="); include_once _PS_ROOT_DIR_ . "/modules/agilemultipleshop/agilemultipleshop.php"; ${${"GLOBALS"}["mdcknsjm"]} = new AgileMultipleShop(); self::$smarty->assign(array("products" => (isset(${${"GLOBALS"}["hjmsmx"]}) and ${${"GLOBALS"}["hjmsmx"]}) ? ${${"GLOBALS"}["hjmsmx"]} : NULL, "id_location" => $this->id_location, "agilesellerproducts_tpl" => _PS_ROOT_DIR_ . "/modules/" . (_PS_VERSION_ > "1.5" ? "agilemultipleshop" : "agilesellerproducts") . "/", "add_prod_display" => Configuration::get("PS_ATTRIBUTE_CATEGORY_DISPLAY"), "categorySize" => Image::getSize(${${"GLOBALS"}["wfbehuenkky"]} ? ImageType::getFormatedName("category") : "category"), "mediumSize" => Image::getSize(${${"GLOBALS"}["fvpbxlqzzc"]} ? ImageType::getFormatedName("medium") : "medium"), "thumbSceneSize" => Image::getSize(${${"GLOBALS"}["eppbsdtlhhp"]} ? ImageType::getFormatedName("thumb_scene") : "thumb_scene"), "homeSize" => Image::getSize(${${"GLOBALS"}["fvpbxlqzzc"]} ? ImageType::getFormatedName("home") : "home"), "path" => $module->getL("Shop By Location"))); ${${"GLOBALS"}["abbgzzweqn"]} = (int) str_replace(".", "", _PS_VERSION_); if (isset(self::$cookie->id_compare)) { self::$smarty->assign("compareProducts", CompareProduct::getCompareProducts((int) self::$cookie->id_compare)); } self::$smarty->assign(array("seller_locations4page" => agilemultipleshop::getLocationListNV($this->location_level), "location_level4page" => $this->location_level)); self::$smarty->assign(array("allow_oosp" => (int) Configuration::get("PS_ORDER_OUT_OF_STOCK"), "comparator_max_item" => (int) Configuration::get("PS_COMPARATOR_MAX_ITEM"))); }
public function hookdisplayHeader() { /* $this->arrType = array('saller'=>$this->l('Best Sellers'), 'view'=>$this->l('Most View'), 'special'=>$this->l('Specials'), 'arrival'=>$this->l('New Arrivals')); $this->page_name = Dispatcher::getInstance()->getController(); if ($this->page_name == 'product') { $productId = (int)Tools::getValue('id_product'); $check = DB::getInstance()->getValue("Select productId From "._DB_PREFIX_."groupcategory_product_view Where productId = ".$productId); if($check){ DB::getInstance()->execute("Update "._DB_PREFIX_."groupcategory_product_view Set total = total + 1 Where productId =" .$productId); }else{ DB::getInstance()->execute("Insert Into "._DB_PREFIX_."groupcategory_product_view (productId, total) Value ('$productId', 1)"); } } */ if (count($this->codeCss) == 0) { $cssStyles = DB::getInstance()->executeS("Select id, name From " . _DB_PREFIX_ . "groupcategory_styles"); if ($cssStyles) { foreach ($cssStyles as $cssStyle) { $this->codeCss[] = file_get_contents(_PS_MODULE_DIR_ . 'groupcategory/css/front-end/style-' . $cssStyle['id'] . ".css"); } } } $themeOption = @Configuration::get('OVIC_CURRENT_OPTION'); //$themeOption = 3; if (isset($themeOption) && $themeOption > 0) { $this->context->controller->addJS($this->_path . 'js/front-end/common' . $themeOption . '.js'); $this->context->controller->addCSS($this->_path . 'css/front-end/style' . $themeOption . '.css'); } else { $themeOption = ''; $this->context->controller->addJS($this->_path . 'js/front-end/common.js'); $this->context->controller->addCSS($this->_path . 'css/front-end/style.css'); } //$this->context->controller->addJS(($this->_path).'js/front-end/jquery.actual.min.js'); $this->context->smarty->assign(array('comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'groupCategoryUrl' => __PS_BASE_URI__ . 'modules/' . $this->name, 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), 'codeCss' => $this->codeCss, 'themeOption' => $themeOption)); include_once _PS_CONTROLLER_DIR_ . 'front/CompareController.php'; if (!($this->compareProductIds = CompareProduct::getCompareProducts($this->context->cookie->id_compare))) { $this->compareProductIds = array(); } }
public function process() { parent::process(); if (!($id_category = (int) Tools::getValue('id_category')) or !Validate::isUnsignedId($id_category)) { $this->errors[] = Tools::displayError('Missing category ID'); } else { if (!Validate::isLoadedObject($this->category)) { $this->errors[] = Tools::displayError('Category does not exist'); } elseif (!$this->category->checkAccess((int) self::$cookie->id_customer)) { $this->errors[] = Tools::displayError('You do not have access to this category.'); } elseif (!$this->category->active) { self::$smarty->assign('category', $this->category); } else { $rewrited_url = self::$link->getCategoryLink((int) $this->category->id, $this->category->link_rewrite); /* Scenes (could be externalised to another controler if you need them */ self::$smarty->assign('scenes', Scene::getScenes((int) $this->category->id, (int) self::$cookie->id_lang, true, false)); /* Scenes images formats */ if ($sceneImageTypes = ImageType::getImagesTypes('scenes')) { foreach ($sceneImageTypes as $sceneImageType) { if ($sceneImageType['name'] == 'thumb_scene') { $thumbSceneImageType = $sceneImageType; } elseif ($sceneImageType['name'] == 'large_scene') { $largeSceneImageType = $sceneImageType; } } self::$smarty->assign('thumbSceneImageType', isset($thumbSceneImageType) ? $thumbSceneImageType : NULL); self::$smarty->assign('largeSceneImageType', isset($largeSceneImageType) ? $largeSceneImageType : NULL); } $this->category->description = nl2br2($this->category->description); $subCategories = $this->category->getSubCategories((int) self::$cookie->id_lang); self::$smarty->assign('category', $this->category); if (isset($subCategories) and !empty($subCategories) and $subCategories) { self::$smarty->assign('subcategories', $subCategories); self::$smarty->assign(array('subcategories_nb_total' => sizeof($subCategories), 'subcategories_nb_half' => ceil(sizeof($subCategories) / 2))); } if ($this->category->id != 1) { $this->productListAssign(); } self::$smarty->assign(array('products' => (isset($this->cat_products) and $this->cat_products) ? $this->cat_products : NULL, 'id_category' => (int) $this->category->id, 'id_category_parent' => (int) $this->category->id_parent, 'return_category_name' => Tools::safeOutput($this->category->name), 'path' => Tools::getPath((int) $this->category->id), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize('category'), 'mediumSize' => Image::getSize('medium'), 'thumbSceneSize' => Image::getSize('thumb_scene'), 'homeSize' => Image::getSize('home'))); if (isset(self::$cookie->id_compare)) { self::$smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) self::$cookie->id_compare)); } } } self::$smarty->assign(array('allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers())); }
public function initContent() { parent::initContent(); $this->setTemplate(_PS_THEME_DIR_ . 'category.tpl'); if (!$this->customer_access) { return; } if (isset($this->context->cookie->id_compare)) { $this->context->smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) $this->context->cookie->id_compare)); } $this->productSort(); // Product sort must be called before assignProductList() $this->assignScenes(); $this->assignSubcategories(); $this->assignProductList(); foreach ($this->cat_products as $key => $value) { $seller_id = $value['id_seller']; $flagIds = Product::getFlagsId($seller_id); foreach ($flagIds as $k => $flgId) { $this->cat_products[$key]['img_exist'][$k] = file_exists(_PS_ROOT_DIR_ . DS . 'flag' . DS . 'mini' . DS . $flgId . '.jpg') ? 1 : 0; $this->cat_products[$key]['img_name'][$k] = $flgId . '.jpg'; } } $this->context->smarty->assign(array('category' => $this->category, 'description_short' => Tools::truncateString($this->category->description, 350), 'products' => isset($this->cat_products) && $this->cat_products ? $this->cat_products : null, 'id_category' => (int) $this->category->id, 'id_category_parent' => (int) $this->category->id_parent, 'return_category_name' => Tools::safeOutput($this->category->name), 'path' => Tools::getPath($this->category->id), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize(ImageType::getFormatedName('category')), 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), 'thumbSceneSize' => Image::getSize(ImageType::getFormatedName('m_scene')), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), 'allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers(), 'body_classes' => array($this->php_self . '-' . $this->category->id, $this->php_self . '-' . $this->category->link_rewrite))); }
public function initContent() { if (!$this->ajax) { parent::initContent(); } // parent::initContent(); $this->setTemplate(_PS_THEME_DIR_ . 'category.tpl'); if (!$this->customer_access) { return; } if (isset($this->context->cookie->id_compare)) { $this->context->smarty->assign('compareProducts', CompareProduct::getCompareProducts((int) $this->context->cookie->id_compare)); } $this->productSort(); // Product sort must be called before assignProductList() $this->assignScenes(); $this->assignSubcategories(); $this->assignProductList(); $products = isset($this->cat_products) && $this->cat_products ? $this->cat_products : null; $combinations = array(); if ($products !== NULL) { foreach ($products as &$pro) { $product_obj = new Product($pro['id_product'], $this->context->language->id); $pro['groups'] = $product_obj->getProductCombinationsGroups($pro['id_product']); $combinations[$pro['id_product']] = $product_obj->getProductAttributeCombinations($pro['id_product']); $id_group = (int) Group::getCurrent()->id; $group_reduction = GroupReduction::getValueForProduct($pro['id_product'], $id_group); if ($group_reduction === false) { $group_reduction = Group::getReduction((int) $this->context->cookie->id_customer) / 100; } $pro['group_reduction'] = $group_reduction; $address = new Address($this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $pro['no_tax'] = Tax::excludeTaxeOption() || !$product_obj->getTaxesRate($address); $pro['customer_group_without_tax'] = Group::getPriceDisplayMethod($this->context->customer->id_default_group); $tax = (double) $product_obj->getTaxesRate(new Address((int) $this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')})); $pro['tax_rate'] = $tax; $pro['unit_price_ratio'] = $product_obj->unit_price_ratio; $ecotax_rate = (double) Tax::getProductEcotaxRate($this->context->cart->{Configuration::get('PS_TAX_ADDRESS_TYPE')}); $pro['ecotaxTax_rate'] = $ecotax_rate; } } $this->context->smarty->assign(array('category' => $this->category, 'description_short' => Tools::truncateString($this->category->description, 350), 'products' => $products, 'id_category' => (int) $this->category->id, 'id_category_parent' => (int) $this->category->id_parent, 'return_category_name' => Tools::safeOutput($this->category->name), 'path' => Tools::getPath($this->category->id), 'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'), 'categorySize' => Image::getSize(ImageType::getFormatedName('category')), 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), 'thumbSceneSize' => Image::getSize(ImageType::getFormatedName('m_scene')), 'homeSize' => Image::getSize(ImageType::getFormatedName('home')), 'allow_oosp' => (int) Configuration::get('PS_ORDER_OUT_OF_STOCK'), 'comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'suppliers' => Supplier::getSuppliers(), 'body_classes' => array($this->php_self . '-' . $this->category->id, $this->php_self . '-' . $this->category->link_rewrite), 'combinations' => $combinations)); }
public function hookdisplayHeader() { //$imageSize = Image::getSize(ImageType::getFormatedName('home')); //$this->context->controller->addCSS(($this->_path).'css/front-end/style.css'); $this->context->controller->addJS($this->_path . 'js/front-end/common.js'); $this->context->controller->addJS($this->_path . 'js/front-end/jquery.actual.min.js'); $this->context->smarty->assign(array('comparator_max_item' => (int) Configuration::get('PS_COMPARATOR_MAX_ITEM'), 'baseModuleUrl' => __PS_BASE_URI__ . 'modules/' . $this->name, 'imageSize' => $this->imageHomeSize, 'h_per_w' => round($this->imageHomeSize['height'] / $this->imageHomeSize['width'], 2))); include_once _PS_CONTROLLER_DIR_ . 'front/CompareController.php'; if (!($this->compareProductIds = CompareProduct::getCompareProducts($this->context->cookie->id_compare))) { $this->compareProductIds = array(); } }