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

Vedomosti v hodnote stoviek tisíc získaš za pár eur

Došiel 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émiovej sekcie.

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íš s Prevádzkovými podmienkami.

Komerčný článok (licencia no-reselling)

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.
Článok pre vás napísal 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