Pouze tento týden sleva až 80 % na e-learning týkající se MS Office
50 % bodů zdarma na online výuku díky naší Slevové akci!

Lekce 47 - 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/EshopModu­le/model/Order­Manager.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/EshopModu­le/model/Person­Manager.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...

Komerční článek (licence no-reselling)

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 body. 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.

Omezená nabídka: Nauč se vše a ušetři

Koupit články a funkce postupně a po jednom 1348 bodů
Koupit všechny aktuálně dostupné články v sekci se všemi funkcemi za exkluzivní cenu 1146 bodů
Na svém účtu máš aktuálně 0 bodů
Koupí tohoto výhodného balíčku získáš přístup ke všem 51 článkům s kontrolou a certifikací a ještě navíc ušetříš 417 Kč. Nabídka je omezená pouze pro první články z kurzu a obsahuje exkluzivní slevu 15%.
1146 bodů získáš za přidání svého článku na síť nebo odpovídá 2 777 Kč 2 361 Kč

Pozor, pokud si koupíš pouze tento článek, ztratíš nárok na speciální slevu 15% na balíček všech článků.

Pro přístup k článku potřebuješ 28 bodů
Na svém účtu máš aktuálně 0 bodů
28 bodů získáš za přidání svého článku na síť nebo odpovídá 58 Kč

Před koupí tohoto článku je třeba koupit předchozí díl

Koupí článku k němu získáš neomezený přístup a to napořád. Posuneš své znalosti zas kousek dopředu a zároveň nám pomůžeš udržovat celý projekt při životě a pomáhat vám tak k lepší budoucnosti.

Obsah článku spadá pod licenci Premium no-reselling, koupí článku souhlasíš se smluvními podmínkami.

Body 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íť.

Dobít body můžeš okamžitě např.:

Kartou SMS Převodem
Kartou SMS Převodem
Článek pro vás napsal 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 (9)