Vydělávej až 160.000 Kč měsíčně! Akreditované rekvalifikační kurzy s garancí práce od 0 Kč. Více informací.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Lekce 22 - E-shop v Nette - Filtrování a řazení produktů

V minulém tutoriálu, E-shop v Nette - Stromové navigační menu, jsme do layoutu vyrenderovali interaktivní stromové menu s kategoriemi produktů.

V dnešním dílu se budeme věnovat výpisu produktů do kategorií.

Dosáhneme tohoto výsledku:

Zobrazení produktů v kategorii

Model

Pro výběr produktů přidáme několik metod do naší třídy ProductManager.

app/EshopModule/Model/ProductManager.php

Produkty budeme vyhledávat podle fráze (např. "květináč"), podle toho zda jsou skladem, podle minimální a maximální ceny a také podle toho, na jaké stránce výsledků vyhledávání se nacházíme. Pokud budeme vypisovat například 6 produktů na stránku a budeme na 9. stránce, zajímají nás výsledky v pořadí 46-54. Výsledky budeme řadit podle hodnocení, ceny nebo data, sestupně nebo vzestupně, jak uživatel určí. Můžeme také zadat kategorii, ve které chceme vyhledávat. Na začátek si definujeme konstanty pro různé druhy řazení:

use Nette\Database\Table\Selection;
...

/** Konstanty pro různé možnosti seřazení produktů. */
const
    ORDER_RATING = 'rating',
    ORDER_LOWEST_PRICE = 'lowest_price',
    ORDER_HIGHEST_PRICE = 'highest_price',
    ORDER_NEWEST = 'newest';
...

getProducts()

Jistě tušíte, že databázový dotaz bude poměrně komplikovaný. Ve finále nás bude zajímat


 

...konec náhledu článku...
Pokračuj dál

Znalosti v hodnotě stovek tisíc získáš za pár korun

Došel jsi až sem a to je super! Věříme, že ti první lekce ukázaly něco nového a užitečného.
Chceš v kurzu pokračovat? Přejdi do prémiové sekce.

Koupit tento kurz

Koupit všechny aktuálně dostupné lekce s funkcí odevzdávání úloh za pouhých 3 370 Kč
Aktuální stav konta 0 Kč
Koupí tohoto balíčku získáš přístup ke všem 48 článkům (48 lekcí) tohoto kurzu.

Před koupí tohoto článku je třeba koupit předchozí díl

Obsah článku spadá pod licenci Premium no-reselling, koupí článku souhlasíš se smluvními podmínkami.

Komerční článek (licence no-reselling)

Komerční článek (licence no-reselling)

Tento článek vznikl na základě mnohaletých zkušeností v oboru a popisuje vývoj profesionálního komerčního produktu nebo jeho součásti, kterou lze přímo využít za účelem zisku nebo proniknutí do komerční sféry IT odvětví.

Tyto vrcholové znalosti zpřístupňujeme samozřejmě pouze některým členům komunity, kteří se mají zájem vypracovat na profesionály v oboru a proto jsou k dispozici pouze za kredity. Kód z článku můžete použít pro jeden svůj komerční projekt. Není ho však možné přeprodávat (jednou zakoupit a poté prodat dále v několika projektech). Pokud potřebujete širší využití kódu, rádi se s vámi domluvíme na komerční licenci. Více informací naleznete v článku Licence.

Jste připraveni stát se profesionály v oboru? Stačí kliknout.

Popis článku

Požadovaný článek má následující obsah:

V tutoriálu implementujeme do modelu logiku pro filtrování produktů podle fulltextové fráze, cenového rozmezí, kategorie, dostupnosti a dalších parametrů.

Kredity získáš, když podpoříš naši síť. To můžeš udělat buď zasláním symbolické částky na podporu provozu nebo přidáním obsahu na síť.

Článek pro vás napsal Jindřich Máca
Avatar
Autor se věnuje převážně webovým technologiím, ale má velkou zálibu ve všem vědeckém, nejen ze světa IT. :-)
Aktivity