Zoradenie najnovších produktov podľa dátumu dostupnosti

Ostatné technické problémy.

Zoradenie najnovších produktov podľa dátumu dostupnosti

Poslaťod Tara » 05. Júl 2017 11:01

Potrebujem modul catalog/controller/module/latest.php upraviť tak, aby mi na hlavnej stránke zobrazovalo produkty na základe dátumu dostupnosti. Ide totiž o to, že raz za čas sa nám dostanú do ponuky produkty, ktorých podobné varianty sme už mali, tak na vypredanom kuse len zmením obrázok a upravím parametre a takto produkt zverejním. Ale medzi najnovšími produktmi sa mi logicky nezobrazí, pretože tam má zafixovaný dátum pridania, nie dostupnosti.

Našiel som v súbore kód
Kód: Vybrať všetko
      $data = array(
         'sort'  => 'p.date_added',
         'order' => 'DESC',
         'start' => 0,
         'limit' => $setting['limit']
      );


zmenil na

Kód: Vybrať všetko
      $data = array(
         'sort'  => 'p.date_available',
         'order' => 'DESC',
         'start' => 0,
         'limit' => $setting['limit']
      );



ale nefunguje to, produkty nejako nelogicky rozhádže. Zrejme bude ešte treba niekde niečo upraviť, ale nemám šajnu čo. Nezapodieval sa niekto s týmto už?
Skúšal som to aj spôsobom, že som si nainštaloval modul date_added, ktorý mi umožňuje nastaviť vlastný dátum pridania. S týmto to funguje, ale zas je to len ďalší modul navyše. Mne to stačí zmeniť niekde v zdrojových kódoch a bude vybavené.
Tara
 
Príspevky: 18
Registrovaný: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4

Re: Zoradenie najnovších produktov podľa dátumu dostupnosti

Poslaťod Martin80 » 06. Júl 2017 22:32

pozri catalog/model/catalog/product.php
metóda getProducts niekde okolo riadku 177

Kód: Vybrať všetko
      
$sort_data = array(
        'pd.name',
   'p.model',
   'p.quantity',
   'p.price',
   'rating',
   'p.sort_order',
   'p.date_added'
      );   

   if (isset($data['sort']) && in_array($data['sort'], $sort_data)) {


"Nelogicky" to zrejme rozhádže preto, že to nijako nesortuje. Takže to nie je nelogické, je to len v poradí ako je to uložené v tabuľke, resp v poradí ako prišli riadky z databázy, resp defaultne podľa radenia produktov.
Takže skús pridať p.date_available i sem a malo by to ísť. V prípade ak nepôjde, zrejme budeš musieť poupraviť sql query poskladanú vyššie. Nepozeral som či je tam patričná tabuľka zahrnutá, ale myslím že je v rovnakej ako date_added, takže by to malo ísť.
Martin80
 
Príspevky: 30
Registrovaný: 30. Jan 2017 12:03
Verzia OpenCartu: 2.3.0.2

Re: Zoradenie najnovších produktov podľa dátumu dostupnosti

Poslaťod Tara » 10. Júl 2017 13:19

Dík, tak tam bol pes zakopaný, zdá sa, že to funguje, stačilo tam pridať to date_available.
Tara
 
Príspevky: 18
Registrovaný: 11. Jan 2017 20:11
Verzia OpenCartu: 1.5.6.4


Späť na Všeobecná podpora

Kto je on-line

Užívatelia prezerajúci fórum: Žiadny registrovaný užívateľ nie je prítomný a 2 hostia

cron