function hookRightColumn($params) { global $smarty, $category_path; $category_path_ids = array(); foreach ($category_path as $cat) { $category_path_ids[] = $cat['id_category']; } $currency = new Currency(intval($params['cookie']->id_currency)); $bestsellers = ProductSale::getBestSalesLight(intval($params['cookie']->id_lang), 0, 25); $best_sellers = array(); $nr = 0; foreach ($bestsellers as $bestseller) { if ($nr >= 5) { break; } $display = false; foreach (Product::getIndexedCategories($bestseller['id_product']) as $row) { if (in_array($row['id_category'], $category_path_ids)) { $display = true; break; } } if ($display) { $bestseller['price'] = Tools::displayPrice(Product::getPriceStaticLC(intval($bestseller['id_product'])), $currency, false, false); $best_sellers[] = $bestseller; $nr += 1; } } $smarty->assign(array('best_sellers' => $best_sellers, 'mediumSize' => Image::getSize('medium'), 'static_token' => Tools::getToken(false))); return $this->display(__FILE__, 'blockbestsellers.tpl'); }
public function renderContent($setting) { $t = array('list_type' => '', 'limit' => 12, 'image_width' => '200', 'image_height' => '200'); $products = array(); $setting = array_merge($t, $setting); switch ($setting['list_type']) { case 'newest': $products = Product::getNewProducts($this->lang_id, 0, (int) $setting['limit']); break; case 'featured': $category = new Category(Context::getContext()->shop->getCategory(), $this->lang_id); $nb = (int) $setting['limit']; $products = $category->getProducts((int) $this->lang_id, 1, $nb ? $nb : 8); break; case 'bestseller': $products = ProductSale::getBestSalesLight((int) $this->lang_id, 0, (int) $setting['limit']); break; case 'special': $products = Product::getPricesDrop($this->lang_id, 0, (int) $setting['limit']); break; } $setting['products'] = $products; $output = array('type' => 'productlist', 'data' => $setting); return $output; }
function hookRightColumn($params) { global $smarty; $currency = new Currency(intval($params['cookie']->id_currency)); $bestsellers = ProductSale::getBestSalesLight(intval($params['cookie']->id_lang), 0, 5); $best_sellers = array(); foreach ($bestsellers as $bestseller) { $bestseller['price'] = Tools::displayPrice(Product::getPriceStatic(intval($bestseller['id_product'])), $currency); $best_sellers[] = $bestseller; } $smarty->assign(array('best_sellers' => $best_sellers, 'mediumSize' => Image::getSize('medium'))); return $this->display(__FILE__, 'blockbestsellers.tpl'); }
protected function getBestSellers($params) { if (Configuration::get('PS_CATALOG_MODE')) { return false; } if (!($result = ProductSale::getBestSalesLight((int) $params['cookie']->id_lang, 0, 3))) { return Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY') ? array() : false; } $currency = new Currency($params['cookie']->id_currency); $usetax = Product::getTaxCalculationMethod((int) $this->context->customer->id) != PS_TAX_EXC; foreach ($result as &$row) { $row['price'] = Tools::displayPrice(Product::getPriceStatic((int) $row['id_product'], $usetax), $currency); } return $result; }
public function renderContent($args, $setting) { # validate module unset($args); $t = array('name' => '', 'html' => ''); $setting = array_merge($t, $setting); $nb = $setting['itemstab'] ? (int) $setting['itemstab'] : 8; $orderby = $setting['orderby'] ? $setting['orderby'] : 'date_add'; $orderway = $setting['orderway'] ? $setting['orderway'] : 'date_add'; $items_page = $columns_page = 3; if (isset($setting['itemspage']) && $setting['itemspage']) { $items_page = $setting['itemspage']; } if (isset($setting['columns']) && $setting['columns']) { $columns_page = $setting['columns']; } $interval = isset($setting['interval']) ? (int) $setting['interval'] : 8000; switch ($setting['specialtype']) { case 'newest': $products = Product::getNewProducts($this->langID, 0, $nb, false, $orderby, $orderway); break; case 'featured': $category = new Category(Context::getContext()->shop->getCategory(), $this->langID); $products = $category->getProducts((int) $this->langID, 1, $nb, $orderby, $orderway); break; case 'bestseller': $products = ProductSale::getBestSalesLight((int) $this->langID, 0, $nb); break; case 'special': $products = Product::getPricesDrop($this->langID, 0, $nb, false, $orderby, $orderway); break; case 'random': $random = true; $products = $this->getProducts('WHERE p.id_product > 0', (int) Context::getContext()->language->id, 1, $nb, $orderby, $orderway, false, true, $random, $nb); Configuration::updateValue('LEO_CURRENT_RANDOM_CACHE', '1'); break; } $setting['specialtype'] = $setting['specialtype']; Context::getContext()->controller->addColorsToProductList($products); $setting['products'] = $products; $setting['itemsperpage'] = $items_page; $setting['columnspage'] = $columns_page; $setting['scolumn'] = 12 / $columns_page; $setting['interval'] = $interval; $setting['tab'] = 'leospecialproduct' . rand(20, rand()); $output = array('type' => 'specialproduct', 'data' => $setting); return $output; }
public function hookRightColumn($params) { if (Configuration::get('PS_CATALOG_MODE')) { return; } global $smarty; $currency = new Currency((int) $params['cookie']->id_currency); $bestsellers = ProductSale::getBestSalesLight((int) $params['cookie']->id_lang, 0, 5); if (!$bestsellers and !Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY')) { return; } $best_sellers = array(); foreach ($bestsellers as $bestseller) { $bestseller['price'] = Tools::displayPrice(Product::getPriceStatic((int) $bestseller['id_product']), $currency); $best_sellers[] = $bestseller; } $smarty->assign(array('best_sellers' => $best_sellers, 'mediumSize' => Image::getSize('medium'))); return $this->display(__FILE__, 'blockbestsellers.tpl'); }
/** * hook home to display generate the product list associated to home featured, news products and best sellers Modules */ public function hookHome() { $ga_scripts = ''; // Home featured products if ($this->isModuleEnabled('homefeatured')) { $category = new Category($this->context->shop->getCategory(), $this->context->language->id); $home_featured_products = $this->wrapProducts($category->getProducts((int) Context::getContext()->language->id, 1, Configuration::get('HOME_FEATURED_NBR') ? (int) Configuration::get('HOME_FEATURED_NBR') : 8, 'position'), array(), true); $ga_scripts .= $this->addProductImpression($home_featured_products) . $this->addProductClick($home_featured_products); } // New products if ($this->isModuleEnabled('blocknewproducts') && (Configuration::get('PS_NB_DAYS_NEW_PRODUCT') || Configuration::get('PS_BLOCK_NEWPRODUCTS_DISPLAY'))) { $new_products = Product::getNewProducts((int) $this->context->language->id, 0, (int) Configuration::get('NEW_PRODUCTS_NBR')); $new_products_list = $this->wrapProducts($new_products, array(), true); $ga_scripts .= $this->addProductImpression($new_products_list) . $this->addProductClick($new_products_list); } // Best Sellers if ($this->isModuleEnabled('blockbestsellers') && (!Configuration::get('PS_CATALOG_MODE') || Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY'))) { $ga_homebestsell_product_list = $this->wrapProducts(ProductSale::getBestSalesLight((int) $this->context->language->id, 0, 8), array(), true); $ga_scripts .= $this->addProductImpression($ga_homebestsell_product_list) . $this->addProductClick($ga_homebestsell_product_list); } $this->js_state = 1; return $this->_runJs($this->filter($ga_scripts)); }
public function renderContent($args, $setting) { # validate module unset($args); $t = array('name' => '', 'html' => ''); $setting = array_merge($t, $setting); $nb = $setting['itemstab'] ? (int) $setting['itemstab'] : 6; $orderby = $setting['orderby'] ? $setting['orderby'] : 'date_add'; $orderway = $setting['orderway'] ? $setting['orderway'] : 'ASC'; $items_page = $setting['itemspage'] ? (int) $setting['itemspage'] : 3; $columns_page = $setting['columns'] ? (int) $setting['columns'] : 3; $interval = isset($setting['interval']) ? (int) $setting['interval'] : 8000; switch ($setting['source']) { case 'ptype': switch ($setting['ptype']) { case 'newest': $products = Product::getNewProducts($this->langID, 0, $nb, false, $orderby, $orderway); break; case 'featured': $category = new Category(Context::getContext()->shop->getCategory(), $this->langID); $products = $category->getProducts((int) $this->langID, 1, $nb, $orderby, $orderway); break; case 'bestseller': $products = ProductSale::getBestSalesLight((int) $this->langID, 0, $nb); break; case 'special': $products = Product::getPricesDrop($this->langID, 0, $nb, false, $orderby, $orderway); break; case 'random': $random = true; $products = $this->getProducts('WHERE p.id_product > 0', (int) Context::getContext()->language->id, 1, $nb, $orderby, $orderway, false, true, $random, $nb); Configuration::updateValue('LEO_CURRENT_RANDOM_CACHE', '1'); break; } break; case 'pproductids': $where = ''; if (empty($setting['pproductids'])) { return false; } if ($pproductids = $setting['pproductids']) { $where = 'WHERE p.id_product IN (' . pSQL($pproductids) . ')'; } $products = $this->getProducts($where, (int) Context::getContext()->language->id, 1, $nb, $orderby, $orderway); break; case 'pcategories': $where = ''; $catids = isset($setting['categories']) && $setting['categories'] ? $setting['categories'] : array(); $products = array(); if ($catids) { $categorys = implode(',', $catids); $where = 'WHERE cp.id_category IN (' . pSQL($categorys) . ')'; $products = $this->getProducts($where, (int) Context::getContext()->language->id, 1, $nb, $orderby, $orderway); } break; case 'pmanufacturers': $where = ''; $manufacturers = $setting['pmanufacturer'] ? $setting['pmanufacturer'] : array(); if ($manufacturers) { $manufacturers = implode(',', $manufacturers); $where = 'WHERE p.id_manufacturer IN (' . pSQL($manufacturers) . ')'; } $products = $this->getProducts($where, (int) Context::getContext()->language->id, 1, $nb, $orderby, $orderway); break; } Context::getContext()->controller->addColorsToProductList($products); $setting['products'] = $products; $setting['itemsperpage'] = $items_page; $setting['columnspage'] = $columns_page; $setting['scolumn'] = 12 / $columns_page; $setting['interval'] = $interval; $setting['homeSize'] = Image::getSize(ImageType::getFormatedName('home')); $setting['tab'] = 'leoproductcarousel' . rand(20, rand()); $output = array('type' => 'carousel', 'data' => $setting); return $output; }
public function renderContent($args, $setting) { $t = array('ptype' => '', 'limit' => 12, 'image_width' => '200', 'image_height' => '200'); $products = array(); $setting = array_merge($t, $setting); $orderby = $setting['orderby'] ? $setting['orderby'] : 'position'; $orderway = $setting['orderway'] ? $setting['orderway'] : 'ASC'; $plimit = $setting['limit'] ? (int) $setting['limit'] : 6; switch ($setting['source']) { case 'ptype': switch ($setting['ptype']) { case 'newest': $products = Product::getNewProducts($this->langID, 0, $plimit); break; case 'featured': $category = new Category(Context::getContext()->shop->getCategory(), $this->langID); $nb = (int) $setting['limit']; $products = $category->getProducts((int) $this->langID, 1, $plimit); break; case 'bestseller': $products = ProductSale::getBestSalesLight((int) $this->langID, 0, $plimit); break; case 'special': $products = Product::getPricesDrop($this->langID, 0, $plimit); break; } break; case 'pproductids': $where = ''; if (empty($setting['pproductids'])) { return false; } if ($pproductids = $setting['pproductids']) { $where = 'WHERE p.id_product IN (' . pSQL($pproductids) . ')'; } $products = $this->getProducts($where, (int) Context::getContext()->language->id, 1, $plimit, $orderby, $orderway); break; case 'pcategories': $where = ''; $catids = isset($setting['categories']) && $setting['categories'] ? $setting['categories'] : array(); if ($catids) { $categorys = implode(",", $catids); $where = 'WHERE cp.id_category IN (' . pSQL($categorys) . ')'; } $products = $this->getProducts($where, (int) Context::getContext()->language->id, 1, $plimit, $orderby, $orderway); break; case 'pmanufacturers': $where = ''; $manufacturers = $setting['pmanufacturer'] ? $setting['pmanufacturer'] : array(); if ($manufacturers) { $manufacturers = implode(",", $manufacturers); $where = 'WHERE p.id_manufacturer IN (' . pSQL($manufacturers) . ')'; } $products = $this->getProducts($where, (int) Context::getContext()->language->id, 1, $plimit, $orderby, $orderway); break; } Context::getContext()->controller->addColorsToProductList($products); $setting['products'] = $products; $output = array('type' => 'products', 'data' => $setting); return $output; }
public function hookRightColumn($params) { global $smarty; $currency = new Currency(intval($params['cookie']->id_currency)); $nb = Configuration::get('PRODUCTS_BESTSELLERS_NBR'); if (intval(Configuration::get('PRODUCTS_BESTSELLERS_RANDOM'))) { $bestsellers = $this->getBestSalesLight(intval($params['cookie']->id_lang), $nb ? $nb : 4, true, $nb ? $nb : 4); } else { $bestsellers = ProductSale::getBestSalesLight(intval($params['cookie']->id_lang), 0, $nb ? $nb : 4); } $best_sellers = array(); foreach ($bestsellers as $bestseller) { $bestseller['price'] = Tools::displayPrice(Product::getPriceStatic(intval($bestseller['id_product'])), $currency); $best_sellers[] = $bestseller; } $smarty->assign(array('best_sellers' => $best_sellers, 'mediumSize' => Image::getSize('medium'))); return $this->display(__FILE__, 'blockbestsellerz.tpl'); }
public function hookHome($params) { if (Configuration::get('PS_CATALOG_MODE')) { return; } $currency = new Currency($params['cookie']->id_currency); $bestsellers = ProductSale::getBestSalesLight((int) $params['cookie']->id_lang, 0, 4); if (!$bestsellers && !Configuration::get('PS_BLOCK_BESTSELLERS_DISPLAY')) { return; } $best_sellers = array(); if ($bestsellers) { foreach ($bestsellers as $bestseller) { $bestseller['price'] = Tools::displayPrice(Product::getPriceStatic((int) $bestseller['id_product']), $currency); $best_sellers[] = $bestseller; } } $this->smarty->assign(array('best_sellers' => $best_sellers, 'homeSize' => Image::getSize('home_default'))); return $this->display(__FILE__, 'blockbestsellers-home.tpl'); }
public function hookRightColumn($params) { if (Configuration::get('PS_CATALOG_MODE')) { return; } $currency = new Currency($params['cookie']->id_currency); if (Product::getTaxCalculationMethod((int) $this->context->customer->id) == PS_TAX_EXC) { $usetax = false; } else { $usetax = true; } $bestsellers = ProductSale::getBestSalesLight((int) $params['cookie']->id_lang, 0, (int) Configuration::get('PS_BLOCK_LEO_BESTSELLERS_LIMIT')); if (!$bestsellers && !Configuration::get('PS_BLOCK_LEO_BESTSELLERS_DISPLAY')) { return; } $best_sellers = array(); if ($bestsellers) { foreach ($bestsellers as $bestseller) { $bestseller['price'] = Tools::displayPrice(Product::getPriceStatic((int) $bestseller['id_product'], $usetax), $currency); $best_sellers[] = $bestseller; } } $this->smarty->assign(array('best_sellers' => $best_sellers, 'mediumSize' => Image::getSize(ImageType::getFormatedName('medium')), 'smallSize' => Image::getSize(ImageType::getFormatedName('small')))); return $this->display(__FILE__, 'leoblockbestsellers.tpl'); }