Lekce 27 - E-shop v Nette - Logika vkládání produktů do košíku
V minulém tutoriálu, E-shop v Nette - OrderManager, jsme si připravili model pro práci s objednávkami.
V dnešním dílu začneme implementovat vkládání produktů do košíku a také provedeme menší refaktoring v našich existujících třídách pro větší pořádek a přehlednost projektu:
Presentery
Jak již víte, dnes nás kromě rozšiřování funkčnosti čeká také trocha refaktoringu spojeného s mazáním, takže buďte extra pozorní, co se kde přidává, ale i ubírá.
app/Presenters/BasePresenter.php
Začneme od základní třídy, ze které dědí všechny naše presentery a to proto, že základní informace o stavu košíku budeme chtít zobrazit i v celkovém layoutu stránky, přesněji v pravém horním rohu. Začneme přidáním atributů pro dva naše modely a továrničku pro vykreslování ceny, které budeme pro správně zobrazení košíku potřebovat.
use App\components\IPriceControlFactory; use App\EshopModule\Model\SettingsManager; use App\EshopModule\Model\OrderManager; use App\components\PriceControl; ... /** @var CategoryManager Instance třídy modelu pro práci s kategoriemi. */ private CategoryManager $categoryManager; /** @var IPriceControlFactory Instance třídy továrničky na tvorbu komponent pro vykreslování ceny. */ private IPriceControlFactory $priceControlFactory; /** @var SettingsManager Instance třídy modelu pro práci s účetním nastavením. */ private SettingsManager $settingsManager; /** @var OrderManager Instance třídy modelu pro práci s objednávkami. */ private OrderManager $orderManager; ...
Dále je budeme klasicky chtít tyto atributy inicializovat pomocí DI:
...konec náhledu článku...
Pokračuj dál
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.
Omezená nabídka: Nauč se vše a ušetři
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)
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 logiku košíku a naskladňování zboží do našeho internetového obchodu a čeká nás také menší refaktoring.
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íť.