21. diel - E-shop v Nette - Filtrovanie a zoradenie produktov
V minulom tutoriále o tvorbe E-shope v Nette sme do layoutu vyrenderovali interaktívnej stromovej menu s kategóriami produktov. V dnešnom dieli sa budeme venovať práve výpisu produktov do kategórií, čím produkty pomaly opúšťame.
Dosiahneme tohto výsledku:
Model
Pre výber produktov pridáme niekoľko metód do našej triedy
ProductManager
.
App / EshopModule / model / ProductManager.php
Produkty budeme vyhľadávať podľa frázy (napr. "Kvetináč"), podľa toho či sú skladom, podľa minimálnej a maximálnej ceny a tiež podľa toho, na akej stránke výsledkov vyhľadávania sa nachádzame. Ak budeme vypisovať napríklad 6 produktov na stránku a budeme na 9. stránke, zaujímajú nás výsledky v poradí 46-54. Výsledky budeme radiť podľa hodnotenia, ceny alebo dáta, zostupne alebo vzostupne, ako užívateľ určí. Môžeme tiež zadať kategóriu, v ktorej chceme vyhľadávať. Na začiatok si definujeme konštanty pre rôzne druhy radenie:
... /** 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 ()
Iste tušíte, že databázový dotaz bude pomerne komplikovaný. Vo finále nás bude zaujímať
...koniec náhľadu článku...
Pokračuj ďalej
Minul si až sem a to je super! Veríme, že ti prvé lekcie ukázali niečo nového a užitočného.
Chceš v kurze pokračovať? Prejdi do prémiové sekcie.
Obmedzená ponuka: Nauč sa všetko a ušetri
Pred kúpou tohto článku je potrebné kúpiť predchádzajúci diel
Obsah článku spadá pod licenciu Premium no-reselling, kúpou článku súhlasíš so zmluvnými podmienkami.
Komerčný článok (licencia no-reselling)
Tento článok vznikol na základe mnohoročných skúseností v odbore a opisuje vývoj profesionálneho komerčného produktu alebo jeho súčasti, ktorú možno priamo využiť za účelom zisku alebo k preniknutiu do komerčnej sféry IT odvetvia.
Tieto vrcholové znalosti sprístupňujeme samozrejme iba niektorým členom komunity, ktorí sa majú záujem vypracovať na profesionálov v odbore a preto sú k dispozícii len za kredity. Kód z článku môžete použiť pre jeden svoj komerčný projekt. Nie je ho však možné prepredávať (raz zakúpiť a následne predať ďalej v niekoľkých projektoch). Ak potrebujete širšie využitie kódu, radi sa s vami dohodneme na komerčnej licencii. Viac informácií nájdete v článku Licencia.
Ste pripravení stať sa profesionálmi v odbore? Stačí kliknúť.
Popis článku
Požadovaný článok má nasledujúci obsah:
V tutoriálu implementujeme do modelu logiku pre filtrovanie produktov podľa fulltextové frázy, cenového rozmedzia, kategórie, dostupnosti a ďalších parametrov.
Kredity získaš, keď podporíš našu sieť. To môžeš urobiť buď zaslaním symbolickej sumy na podporu prevádzky alebo pridaním obsahu na sieť.