Lekce 48 - E-shop v Nette - Dokončení obchodu
V minulém tutoriálu, E-shop v Nette - Šablona změny objednávky, jsme si zprovoznili část editace objednávky.
Na editaci údajů osoby zákazníka nám chybí ještě dialog, na který využijeme jQuery UI dialogu a editace produktů v objednávce AJAXem.
Modely
Jako vždy začneme v modelech.
app/EshopModule/Model/OrderManager.php
Zde nám chybí pouze drobnost a to změnit metodu
updateProductInOrder()
z private na
public:
... /** * Upraví produkt v objednávce. * @param int $quantity nový počet kusů; pokud počet upravíme na 0, produkt se odebere z košíku * @param int $productId ID produktu * @param int $orderId ID objednávky * @throws InvalidArgumentException Pokud je zadán záporný počet kusů produktu. */ public function updateProductInOrder($quantity, $productId, $orderId) { ...
Jednoduše jsem předem nepočítal s jejím použitím někde jinde, ale nakonec se nám bude hodit.
app/EshopModule/Model/PersonManager.php
Nejjednodušší způsob jak změnit údaje zákazníka na objednávce bez
toho, abychom psali redundantní kód, je uložit nové údaje metodou
savePerson()
. Budeme chtít vytvořit jednotlivé části osoby
znovu, nastavit jim změněné hodnoty a ty poté nastavit objednávce.
...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 změnu údajů zákazníka pomocí jQuery UI dialogu a následně AJAXovou obsluhu pro editaci produktů v objednávce.
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íť.