17. diel - E-shop v Nette - Komponenty nielen pre detail produktu
V minulom tutoriále o tvorbe E-shope v Nette sme si pripravili Presenter pre detail produktu vrátane pridávania užívateľských recenzií. V dnešnom dieli si pripravíme všetko potrebné na pridanie šablóny pre detail produktu, čo sú predovšetkým zbrusu nové komponenty
Komponenty
Ako som už předesílal, dnešný diel bude veľa zameraný na komponenty. Ukážeme si predovšetkým automaticky generované továrničky na komponenty s autowiringem a ich porovnanie s klasickou instanciací pod. Takže koniec rečou a hurá do práce!
App / components / PriceControl.php
Začneme "globálne" komponentom pre vykresľovanie ceny. Globálne je z toho dôvodu, že ju budeme používať aj pri výpise všetkých produktoch, v košíku aj u jeho ikony v podstate na každej stránke atď. Začneme klasickým konštruktom komponenty s jedným setter navyše:
<?php namespace App\Components; use Nette\Application\UI\Control; use Nette\Utils\ArrayHash; /** * Pomocná komponenta pro vykreslování ceny. * @package App\Components */ class PriceControl extends Control { /** Cesta k souborům šablon pro tuto komponentu. */ const TEMPLATE_PATH = __DIR__ . '/../templates/components/Price/'; /** @var string Měna, ve které se má cena vykreslit. */ private $currency; /** * Setter pro měnu, ve které je cena uvedená. * @param string $currency měna */ public function setCurrency($currency) { $this->currency = $currency; } ...
Tu asi nie je nič zvláštneho, tak sa posunieme k metódam pre vykresľovanie (renderovanie).
...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 dodáme do e-shopu hlavne nové komponenty, ktoré nám v najbližších dielach pomôžu nielen s vykresľovaním detailu produktu.
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ť.