Zarábaj až 6 000 € mesačne! Akreditované rekvalifikačné kurzy od 0 €. Viac informácií.

47. diel - E-shop v Nette - Dokončenie obchodu

V minulom tutoriále o tvorbe e-shopu v Nette sme si sprevádzkovali časť editácia objednávky. Zostáva nám ešte dialóg k editácii údajov osoby zákazníka, na ktorý využijeme jQuery UI dialógu a editácia produktov v objednávke Ajaxu. Dnešný diel je posledným dielom tohto kurzu, takže týmto náš elektronický obchod dokončíme.

Modely

Ako vždy začneme v modeloch.

App / EshopModule / model / OrderManager.php

Tu nám chýba len drobnosť a to zmeniť metódu 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)
{
    ...

Jednoducho som vopred nepočítal s jej použitím niekde inde, ale nakoniec sa nám bude hodiť. :)

App / EshopModule / model / PersonManager.php

Najjednoduchší spôsob ako zmeniť údaje zákazníka na objednávke bez toho, aby sme písali redundantný kód, je uložiť nové údaje metódou savePerson(). Budeme chcieť vytvoriť jednotlivé časti osoby znova, nastaviť im zmenené hodnoty a tie potom nastaviť objednávke.


 

...koniec náhľadu článku...
Pokračuj ďalej

Vedomosti v hodnote stoviek tisíc získaš za pár korún

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

Kúpiť všetky aktuálne dostupné lekcie s funkciou odovzdávanie úloh za exkluzívnu cenu 2 662,50 kreditov
Aktuálny stav konta 0 kreditov
Kúpou tohoto výhodného balíčku získaš prístup ku všetkým 48 článkom (48 lekcií) s kontrolou a certifikáciou a ešte naviac ušetríš 753 Kč. Ponuka je časovo obmedzená a platí pro všetky lekcie v kurze. Nakúp teraz a získaj limitovanou 22% zľavu.

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)

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 implementujeme zmenu údajov zákazníka pomocou jQuery UI dialógu a následne AJAXové obsluhu pre editáciu produktov v objednávke.

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

Č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