Browsed by
Series: Jednoduchý e-shop Laravel 5.3

Trošku vylepšený a upravený seriál tvorby malého e-shopu na frameworku Laravel 5.3

Jednoduchý e-shop Laravel 5.3 část 1 – Instalace a databáze

Jednoduchý e-shop Laravel 5.3 část 1 – Instalace a databáze

Tento článek je 1 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Po krátké přestávce ( v mezidobí jsem pronikala do tajů záludného prgramovacího jazyka C) jsem se vrátila k mému původnímu e-shopu ( viz. seriál a drobný update). Jak už to tak bývá, zjistila jsem, že ne zrovna všechno v něm bylo ideální. Protože se blíží vánoce a kromě zaměstnání, úklidu domácnosti, pečení cukroví a nákupu dárků, nemám v podstatě nic na práci, rozhodla jsem se svůj nehezký kód přepracovat a to s využitím nejnovější verze Laravel framewroku a to konkrétně aktuální verze 5.3. Idea je stejná jako v minulém seriálu vytvořit jednoduchý, ale zároveň provozuschpný e-shop. Začínáme…

Read More Read More

Jednoduchý e-shop Laravel 5.3 část 2 – databáze seeder a homepage

Jednoduchý e-shop Laravel 5.3 část 2 – databáze seeder a homepage

Tento článek je 2 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Dazabázi máme vytvořenou. Abychom mohli vyvíjet aplikaci naplním si produkty daty. K tomu využiji další pěknou feature, kterou Laravel má a to database seeder.

Takže si v database/seeds upravíme DatabaseSeeder.php a to takto

Dále si ve stejném adresáři vytvoříme ProductsTableSeeder.php

a nyní bychom už mohli pustit seeder

Ovšem ten nám skončí chybou ClassProductcTableSeeder does not exists. Ovšem my ale víme, že existuje. Problém je pouze v autoloadu takže provedeme

A zkusíme seeder znovu spustit. Ops opět chybka  Class App\Produxt not found. Jistě v ProductsTableSeeder.php používáme Product model, ten ovšem nenáme vytvořen takže

A konečně spustíme seeder. A databázi produktů máme naplněnou.

Teď by to chtělo náš minieshop ještě trochu oživit. Vytvoříme se teda jednoduchou homeage vytvoříme si HomeController pomocí

a HomeController upravíme takto:

samozřejmě ještě potřebujeme vytvořit routu a to editaci routes/web.php na

Teď nám ještě chybí příslušné view, takže v resources/view vytvoříme home.blade.php

a jistě jste si všimli že potřebujeme vytvořit v resources/views ještě adresář layouts a v něm master.blade.php

a už nám konečně něco funguje

Jednoduchý e-shop Laravel 5.3 část 3 – košík a přidání zboží do něj

Jednoduchý e-shop Laravel 5.3 část 3 – košík a přidání zboží do něj

Tento článek je 3 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Pokračujeme tedy dál no homepage máme zobrazení košíku a teď bychom chtěli zboží přidat do košíku a po té zobrazit zboží v košíku. Obsah košíku uložíme do session .

Takže do routes/web.php si přidáme dvě routy a to pro přidání zboží do košíku a také pro zobrazení košíku.

a vytvoříme si CartController

a upravíme takto

funkce postAdd nám slouží pro přidání zboží z homepage do košíku a a index nám zobrazí aktuální obsah košíku. Ještě musíme připravit view pro zobrazení košíku. V resources/views založíme cart.blade.php

Ještě drobná úprava css stylu pro správné zobrazení v public/css/styles.css

No ještě by to chtělo vedle ikonky košíku na homepage zobrazit aktuální množství položek v košíku.

Takže upravíme resources/view/layouts/master.blade.php

nyní nám ovšem e-shop přestane fungovat jelikož proměnnou $cart_qty je potřeba naplnit a k tomu využijeme tzv. view composer a to konkrétně v app/providers/AppServiceProvider.php upravíme funcki

No a nyní by nám již všechno mělo fungovat

Jednoduchý e-shop Laravel 5.3 část 5 – odeslání mailu pro objednávku

Jednoduchý e-shop Laravel 5.3 část 5 – odeslání mailu pro objednávku

Tento článek je 5 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Dnes si jenom trochu rozšíříme funkcionalitu pro odeslání objednávky. Bylo by dobré, kdyby provozovatel e-shopu byl o provedené objednávce informován i mailem. Takže uložení objednávky rozšíříme o odeslání mailu. Využijeme k tomu zcela novou funkcionalitu, kterou má Laravel od verze 5.3 a to tzv. mailables viz dokumentace.

Read More Read More

Jednoduchý e-shop Laravel 5.3 část 6 – základ administrační části

Jednoduchý e-shop Laravel 5.3 část 6 – základ administrační části

Tento článek je 6 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Takže teď začneme tvořit administraci pro náš jednoduchý e-shop. Využijeme vestavěnou adminstraci v Laravelu 5.3. Před započetím je potřeba si zazálohovat stávající e-shop. protože dojde k přepsání některých souborů a my si pak jejich obsah obnovíme ze zálohy.

Read More Read More

Jednoduchý e-shop Laravel 5.3 část 7 – přehled objednávak v administraci

Jednoduchý e-shop Laravel 5.3 část 7 – přehled objednávak v administraci

Tento článek je 7 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Dnešní část kodu mi dala asi nejvíce zabrat, protože se zde používají tzv. relationships. Takže po přihlášení do administrace budu chtít asi zobrazit přehled všech objednávek s informací o objednateli, stavu a cene objednávky.

Read More Read More

Jednoduchý e-shop Laravel 5.3 část 8 – detail objednávky v administraci

Jednoduchý e-shop Laravel 5.3 část 8 – detail objednávky v administraci

Tento článek je 8 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Nyní by bylo vhdoné, abychom si v administraci zobrazili podrobnosti ke každé objednávce. Šablona v administraci má u čísla objednávky odkaz na detail dané objednávky, takže nezbývá než to doprogramovat.

Read More Read More

Jednoduchý e-shop Laravel 5.3 část 10 – přidání zboží do košíku AJAXEM

Jednoduchý e-shop Laravel 5.3 část 10 – přidání zboží do košíku AJAXEM

Tento článek je 10 z 11 v seriálu Jednoduchý e-shop Laravel 5.3

Tak jsem se rozhodla , že e-shop si vylepším o přidání do košíku ajaxem. Aby bylo možné použít ajax POST s Laravelem je nejpreve nutné ,aby byl předán s ajaxovým požadavek i csrf_token. Více najdeme jako vždy v dokumentaci X-CSRF_TOKEN

Nejprve si upravíme master.blade.php do hlavičky přidáme

a také si zajistíme možnost přidat na konkrétní stránce javascritový kód. Takže na konec si přidáme

Nyní upravíme home.blade.php. Pro přidání zboží do košíku budeme používat

a na konec souboru si přidáme kód

aby nám vše fungovalo přidáme routu do web.php

a ještě do CartControlleru

No a nyní by nám mělo fungovat přidání zboží do košíku pomocí Ajaxu a také si prosím všimněte, že v navigaci se nám aktualizuje počet položek v košíku. Uf vypadá to jednoduše, ale vzhledem k tomu ža Ajax jsem v Laravelu použila poprvé, dalo mi to trochu zabrat