Právě je 19 dub 2024 05:34

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 3 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop 1.6 - blok Nejprodávanější - Staré produkty
PříspěvekNapsal: 13 bře 2015 12:33 
C4 zákazník

Registrován:
17 led 2011 09:11
Příspěvky:
85
Dobrý den
Prosím poradit jak v tomto bloku nastavit zobrazení nejprodávanějších výrobků od určitého data nebo jinak ovlivnit, co se v něm zobrazuje. Abych tam neměl staré a již vyprodané výrobky.
Děkuji
A. Hejzlar
http://www.fotbalovekarty.cz


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - blok Nejprodávanější - Staré produkty
PříspěvekNapsal: 24 bře 2015 13:27 
C4 zákazník

Registrován:
17 led 2011 09:11
Příspěvky:
85
Odpověď ohledně úpravy bloku Nejprodávanější mi nedošla :-(
A. Hejzlar


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.6 - blok Nejprodávanější - Staré produkty
PříspěvekNapsal: 24 bře 2015 14:46 
C4 podpora
C4 podpora

Registrován:
30 čer 2009 09:14
Příspěvky:
8504
Dobrý den,

když přímo v editaci produktu na záložce Informace nastavíte volbu Aktivováno na Ne nebo volbu Viditelnost na Nikde, tak se produkt nebude zobrazovat v bloku s nejprodávanějším zbožím.

Pokud byste chtěl nějaké sofistikovanější řešení vyloženě na míru, tak jedinou možností by byla úprava zdrojového kódu aplikace. Máte-li o úpravu zájem, můžete se obrátit na některého z našich partnerů (příp. vpravo blok PrestaShop partneři), který se aplikaci PrestaShop věnuje. Funkci getBestSalesLight (resp. SQL příkaz), která produkty vypisuje, naleznete v souboru classes/ProductSale.php. Jedná se o tuto část kódu:
Kód:
public static function getBestSalesLight($id_lang, $page_number = 0, $nb_products = 10, Context $context = null)
{
   if (!$context)
      $context = Context::getContext();
   if ($page_number < 0) $page_number = 0;
   if ($nb_products < 1) $nb_products = 10;

   $sql = '
   SELECT
      p.id_product,  MAX(product_attribute_shop.id_product_attribute) id_product_attribute, pl.`link_rewrite`, pl.`name`, pl.`description_short`, product_shop.`id_category_default`,
      MAX(image_shop.`id_image`) id_image, il.`legend`,
      ps.`quantity` AS sales, p.`ean13`, p.`upc`, cl.`link_rewrite` AS category, p.show_price, p.available_for_order, IFNULL(stock.quantity, 0) as quantity, p.customizable,
      IFNULL(pa.minimal_quantity, p.minimal_quantity) as minimal_quantity, stock.out_of_stock,
      product_shop.`date_add` > "'.date('Y-m-d', strtotime('-'.(Configuration::get('PS_NB_DAYS_NEW_PRODUCT') ? (int)Configuration::get('PS_NB_DAYS_NEW_PRODUCT') : 20).' DAY')).'" as new,
      product_shop.`on_sale`, MAX(product_attribute_shop.minimal_quantity) AS product_attribute_minimal_quantity
   FROM `'._DB_PREFIX_.'product_sale` ps
   LEFT JOIN `'._DB_PREFIX_.'product` p ON ps.`id_product` = p.`id_product`
   '.Shop::addSqlAssociation('product', 'p').'
   LEFT JOIN `'._DB_PREFIX_.'product_attribute` pa
      ON (p.`id_product` = pa.`id_product`)
   '.Shop::addSqlAssociation('product_attribute', 'pa', false, 'product_attribute_shop.`default_on` = 1').'
   '.Product::sqlStock('p', 'product_attribute_shop', false, $context->shop).'
   LEFT JOIN `'._DB_PREFIX_.'product_lang` pl
      ON p.`id_product` = pl.`id_product`
      AND pl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('pl').'
   LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product`)'.
   Shop::addSqlAssociation('image', 'i', false, 'image_shop.cover=1').'
   LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.(int)$id_lang.')
   LEFT JOIN `'._DB_PREFIX_.'category_lang` cl
      ON cl.`id_category` = product_shop.`id_category_default`
      AND cl.`id_lang` = '.(int)$id_lang.Shop::addSqlRestrictionOnLang('cl');

   if (Group::isFeatureActive())
   {
      $groups = FrontController::getCurrentCustomerGroups();
      $sql .= '
         JOIN `'._DB_PREFIX_.'category_product` cp ON (cp.`id_product` = p.`id_product`)
         JOIN `'._DB_PREFIX_.'category_group` cg ON (cp.id_category = cg.id_category AND cg.`id_group` '.(count($groups) ? 'IN ('.implode(',', $groups).')' : '= 1').')';
   }

   $sql.= '
   WHERE product_shop.`active` = 1
   AND p.`visibility` != \'none\'
   GROUP BY product_shop.id_product
   ORDER BY sales DESC
   LIMIT '.(int)($page_number * $nb_products).', '.(int)$nb_products;

   if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS($sql))
      return false;

   return Product::getProductsProperties($id_lang, $result);
}

_________________
Radek Plašil
Webhosting C4
https://www.c4.cz/


Nahoru
 Profil  
 
Zobrazit příspěvky za předchozí:  Seřadit podle  
Odeslat nové téma Odpovědět na téma  [ Příspěvků: 3 ] 

Všechny časy jsou v UTC + 1 hodina [ Letní čas ]


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků


Nemůžete zakládat nová témata v tomto fóru
Nemůžete odpovídat v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete přikládat soubory v tomto fóru

Hledat:
Přejít na:  
cron
FTP Uploader
Staňte se naším zákazníkem!
Hledáme kolegy
PrestaShop partneři

Seznam všech partnerů

PrestaShop Hosting
Návody pro C4

© 2009-2024 ČESKÝ WEBHOSTING s.r.o. Kontaktní e-mail: forum@c4.cz
Diskuzní fórum využívá technologie: phpBB, phpBB-SEO.com, phpBB.cz