Právě je 20 dub 2024 05:40

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




Odeslat nové téma Odpovědět na téma  [ Příspěvků: 7 ] 
Autor Zpráva
 Předmět příspěvku: PrestaShop 1.5 - Doporučené zboží - Střídání produktů
PříspěvekNapsal: 04 čer 2013 12:57 

Registrován:
24 kvě 2013 23:23
Příspěvky:
4
Dobrý den,
u modulu Doporučené zboží na úvodní stránce se zobrazují stále stejné produkty, nedochází k jejich střídání. Našel jsem na fóru jednu radu, bohužel byla pro jinou verzi a nefungovala, web se nenačetl vůbec.
Nemáte někdo řešení?


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.5 - Doporučené zboží - Střídání produktů
PříspěvekNapsal: 07 čer 2013 17:22 
C4 podpora
C4 podpora

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

v souboru modules/homefeatured/homefeatured.php najděte tuto část kódu:
Kód:
public function hookDisplayHome($params)
{
   $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
   $nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
   $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));
   
   $this->smarty->assign(array(
      'products' => $products,
      'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
      'homeSize' => Image::getSize('home_default'),
   ));

      return $this->display(__FILE__, 'homefeatured.tpl');
   }

a za řádek:
Kód:
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

vložte na nový řádek tento kód:
Kód:
shuffle($products);

Tím bude docházet k náhodnému řazení/zobrazení produktů.

Finální úprava celého kódu bude vypadat následovně:
Kód:
public function hookDisplayHome($params)
{
   $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
   $nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
   $products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));
   shuffle($products);
   
   $this->smarty->assign(array(
      'products' => $products,
      'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
      'homeSize' => Image::getSize('home_default'),
   ));

   return $this->display(__FILE__, 'homefeatured.tpl');
}


A samozřejmě při aktualizaci obchodu na novější verzi budete muset úpravu znovu aplikovat.

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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.5 - Doporučené zboží - Střídání produktů
PříspěvekNapsal: 07 čer 2013 21:10 

Registrován:
07 čer 2013 21:06
Příspěvky:
5
Bydliště:
Národní 1095, Úpice
Dobrý den,

vracím se k tomuto starému dotazu. Kód jsem zadal, ale produktů se střídá pouze prvních osm. Je možné, aby se střídaly všechny produkty uvedené v kategorii Home?

Prestashop 1.5.4.1


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.5 - Doporučené zboží - Střídání produktů
PříspěvekNapsal: 10 čer 2013 14:36 
C4 podpora
C4 podpora

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

originální skript totiž zobrazuje pouze počet produktů zadaných v nastavení modulu - Počet zobrazených produktů. Takže pokud máte nastaveno zobrazení pouze 8 produktů, bude se Vám náhodně střídat pouze 8 produktů (příp. 10, pokud hodnota není nastavena). Chcete-li střídat například 50 produktů, tak byste musel upravit řádek:
Kód:
$products = $category->getProducts((int)Context::getContext()->language->id, 1, ($nb ? $nb : 10));

na tento tvar:
Kód:
$products = $category->getProducts((int)Context::getContext()->language->id, 1, 50);

Část kódu ($nb ? $nb : 10) se nahradila počtem 50. Ale protože by se Vám po této úpravě zobrazilo v modulu na úvodní stránce 50 produktů (pokud jich tedy tolik máte), je nutné za řádek, který jste přidal pro náhodné řazení, ještě doplnit kód pro omezení počtu zobrazených produktů podle nastavení modulu:
Kód:
array_splice($products, ($nb ? $nb : 10));

Takže finální úprava kódu pro střídání 50 produktů bude vypadat následovně:
Kód:
public function hookDisplayHome($params)
{
   $category = new Category(Context::getContext()->shop->getCategory(), (int)Context::getContext()->language->id);
   $nb = (int)(Configuration::get('HOME_FEATURED_NBR'));
   $products = $category->getProducts((int)Context::getContext()->language->id, 1, 50);
   shuffle($products);
   array_splice($products, ($nb ? $nb : 10));

   $this->smarty->assign(array(
      'products' => $products,
      'add_prod_display' => Configuration::get('PS_ATTRIBUTE_CATEGORY_DISPLAY'),
      'homeSize' => Image::getSize('home_default'),
   ));

   return $this->display(__FILE__, 'homefeatured.tpl');
}

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


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.5 - Doporučené zboží - Střídání produktů
PříspěvekNapsal: 10 čer 2013 15:00 

Registrován:
24 kvě 2013 23:23
Příspěvky:
4
Pane Plašile,
k Vaší radě není co dodat, snad jen "palec nahoru"!
Upraveno, odzkoušeno, funguje dle představ, díky !!


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.5 - Doporučené zboží - Střídání produktů
PříspěvekNapsal: 17 čer 2013 22:49 

Registrován:
07 čer 2013 21:06
Příspěvky:
5
Bydliště:
Národní 1095, Úpice
GENIÁLNÍ!!! Děkuji mnohokrát ... :)


Nahoru
 Profil  
 
 Předmět příspěvku: Re: PrestaShop 1.5 - Doporučené zboží - Střídání produktů
PříspěvekNapsal: 16 srp 2013 23:05 

Registrován:
16 srp 2013 23:02
Příspěvky:
1
Děkuji. Super a funkční. PJ


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ů: 7 ] 

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 1 návštěvní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