ZenCart – řazení výpisu produktů v kategoriích
Ve výchozím nastavení se produkty v kategoriích ZenCartu řadí podle názvu. Toto řazení lze ovlivnit několika způsoby:
Nastavení řazení na kartě jednotlivých produktů v ZenCart
u každého produktu v kategorii je třeba nastavit pořadí
Změna nastavení výchozího řazení v ZenCart
v administraci ZenCartu v sekci:
Konfigurace => Product Listing => Display Product Listing Default Sort Order
lze nastavit hodnotu ve formátu číslo+písmeno. Číslo odpovídá hodnotě uvedené u některé ze zobrazených informací o produktu. Písmeno a nebo d pak znamená řazení vzestupně (ascending) nebo sestupně (descending). Pokud je tedy například v nastavení:
Konfigurace => Product Listing => Display Product Model
nastavena hodnota 2, pak nastavením volby 2d docílíme sestupného řazení dle kódu produktu.
Úprava na řazení dle libovolného parametru v ZenCart
jako příklad je uvedeno řazení dle data přidání produktu. V souboru includes/index_filters/default_filter.php najdeme následující část:
98 99 100 101 102 103 104 |
} else { // sort by products_sort_order when PRODUCT_LISTING_DEFAULT_SORT_ORDER ia left blank // for reverse, descending order use: // $listing_sql .= " order by p.products_sort_order desc, pd.products_name"; $listing_sql .= " order by p.products_sort_order, pd.products_name"; break; } |
a přidáme podmínku, která způsobí řazení produktů podle data přidání v případě, že v konfiguraci:
Konfigurace => Product Listing => Display Product Listing Default Sort Order
nastavíme číslo 55 (lze samozřejmě nastavit libovolné jiné číslo). Přidáme řádky 102 – 104 a 106:
98 99 100 101 102 103 104 105 106 107 108 |
} else { // sort by products_sort_order when PRODUCT_LISTING_DEFAULT_SORT_ORDER ia left blank // for reverse, descending order use: // $listing_sql .= " order by p.products_sort_order desc, pd.products_name"; if (PRODUCT_LISTING_DEFAULT_SORT_ORDER == 55) { $listing_sql .= " order by p.products_date_added desc"; } else { $listing_sql .= " order by p.products_sort_order, pd.products_name"; } break; } |
Nyní je třeba změnit nastavení v:
Konfigurace => Product Listing => Display Product Listing Default Sort Order
na číslo 55 a produkty se budou řadit podle data přidání sestupně. Pokud bychom chtěli vzestupné řazení tak vynecháme „desc“ na konci řádku 103.
díky za skvělý návod – funguje na 100%. Podpora zserver.cz je na velkou 1 s * 🙂