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

Diskusia – 7. diel - Jednoduchý redakčný systém v Laravel - Výpis článku

Späť

Upozorňujeme, že diskusie pod našimi online kurzami sú nemoderované a primárne slúžia na získavanie spätnej väzby pre budúce vylepšenie kurzov. Pre študentov našich rekvalifikačných kurzov ponúkame možnosť priameho kontaktu s lektormi a študijným referentom pre osobné konzultácie a podporu v rámci ich štúdia. Toto je exkluzívna služba, ktorá zaisťuje kvalitnú a cielenú pomoc v prípade akýchkoľvek otázok alebo projektov.

Komentáre
Avatar
Ondra
Člen
Avatar
Odpovedá na Jan Lupčík
Ondra:19.1.2020 20:27

Dobrý už to funguje chyba byla že jsem neměl v projektu nainstalováno npm install a poté npm run dev díky za radu

 
Odpovedať
19.1.2020 20:27
Avatar
Neaktivní uživatel:30.3.2020 19:18

Ahoj, měl bych takový zvláštní dotaz. Vzhledem k tomu, že přes artisan vytvořím "Article" model, "ArticleController" kontroler, tak mám i v routu/url řádku "/article/uvod", který se generuje automaticky. Ale co když bych tam chtěl mít "/clanky/uvod". Lze to nějakou funkcí přejmenovat? Nechci vytvářet třídy v češtině jako "ClankyController", to mi přijde trochu úchylný... Díky za radu...

Odpovedať
30.3.2020 19:18
Neaktivní uživatelský účet
Avatar
Odpovedá na Neaktivní uživatel
Neaktivní uživatel:31.3.2020 9:33

Ahoj, vyzkoušej následující úpravu routy:

Route::resource('clanek', 'ArticleController', ['names' => 'article', 'parameters' => ['clanek' => 'article']]);

Výpis originálních a upravených rout.

# artisan route:list před úpravou
GET|HEAD  | article                | article.index   | App\Http\Controllers\ArticleController@index
POST      | article                | article.store   | App\Http\Controllers\ArticleController@store
GET|HEAD  | article/create         | article.create  | App\Http\Controllers\ArticleController@create
GET|HEAD  | article/{article}      | article.show    | App\Http\Controllers\ArticleController@show
PUT|PATCH | article/{article}      | article.update  | App\Http\Controllers\ArticleController@update
DELETE    | article/{article}      | article.destroy | App\Http\Controllers\ArticleController@destroy
GET|HEAD  | article/{article}/edit | article.edit    | App\Http\Controllers\ArticleController@edit

# artisan route:list po úpravě
GET|HEAD  | clanek                 | article.index   | App\Http\Controllers\ArticleController@index
POST      | clanek                 | article.store   | App\Http\Controllers\ArticleController@store
GET|HEAD  | clanek/create          | article.create  | App\Http\Controllers\ArticleController@create
GET|HEAD  | clanek/{article}       | article.show    | App\Http\Controllers\ArticleController@show
PUT|PATCH | clanek/{article}       | article.update  | App\Http\Controllers\ArticleController@update
DELETE    | clanek/{article}       | article.destroy | App\Http\Controllers\ArticleController@destroy
GET|HEAD  | clanek/{article}/edit  | article.edit    | App\Http\Controllers\ArticleController@edit

Dál za nastavení rout jsem to nezkoušel, tak nemusí jít na sto procent o všechny potřebné úpravy.

Odpovedať
+1
31.3.2020 9:33
Neaktivní uživatelský účet
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovedá na Neaktivní uživatel
Jan Lupčík:31.3.2020 18:33

Omlouvám se, ale včera už jsem se k odpovědi nedostal.
Úprava od Neaktivní uživatel je správná a děkuji mu za odpověď. Každopádně rád bych jeho úpravy trochu okomentoval.

Metoda resource() třídy Route přijímá tři parametry. První parametr určuje název v URI akci, název samotné routy a i pojmenování parametru. V druhém parametru specifikuješ kontroler, který má dané routy obsluhovat. Musí obsahovat všechny CRUD metody zmíněné v předchozí lekci :)
Třetí parametr přijímá pole nastavení, kde můžeš přepsat jak název routy (klíč names), tak i jméno parametru (klíč parameters). U parametru musíme převést clanek na article, jelikož clanek je vygenerovaný právě podle prvního parametru a náš kód kontroleru využívá proměnnou s názvem article - ty se musí shodovat, aby dependency injection správně fungovalo.

Odpovedať
+1
31.3.2020 18:33
TruckersMP vývojář
Avatar
Neaktivní uživatel:1.4.2020 18:09

Díky moc za odpovědi... funguje to skvěle...

Odpovedať
1.4.2020 18:09
Neaktivní uživatelský účet
Avatar
Jan Štěch
Člen
Avatar
Jan Štěch:15.6.2020 22:02

Jaký má význam umisťovat csrf token jako <meta> do <head>? Aplikuje se tak pro všechny formuláře, co se mohou na stránce vyskytovat? Fungoval by zde zkrácený zápis @csfr stejně jako kdybychom token vložili někam do <body>?

 
Odpovedať
15.6.2020 22:02
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovedá na Jan Štěch
Jan Lupčík:16.6.2020 10:06

CSRF token nastavený jako meta informace je užitečný pro odesílání požadavků přes JavaScript, který si ho může takto natáhnout z hlavičky stránky :)
Direktiva @csrf by pro to nefungovala, jelikož ta vygeneruje skrytý <input /> políčko, nikoliv <meta> tag.

Odpovedať
+1
16.6.2020 10:06
TruckersMP vývojář
Avatar
Jan Štěch
Člen
Avatar
Odpovedá na Jan Lupčík
Jan Štěch:16.6.2020 19:41

Jasný. Díky za vysvětlení.

 
Odpovedať
16.6.2020 19:41
Avatar
Martin Šebek:16.6.2020 21:19

Ahoj všem,
nevíte kde může být chyba? Pracuji v ubuntu, mám rozběhnutý apache2 server a téměř vše mi funguje až do chvíle, než se chci podívat někam jinam, než na stránku http://laravel-cms. Jakmile za tuto adresu, která mi aktuálně vyhazuje správně 404 error (nastylovaný laravelem), přidám třeba právě /article/uvod, tak dostanu klasickou chybu 404, kterou generuje přímo apache. Díky

 
Odpovedať
16.6.2020 21:19
Avatar
Jan Lupčík
Tvůrce
Avatar
Odpovedá na Martin Šebek
Jan Lupčík:17.6.2020 17:42

Zřejmě máš špatně nastavený web server. Pokud chceš stále využívat vlastní doménu na lokálním stroji, podívej se na nastavení do lekce o instalaci projektu: https://www.itnetwork.cz/…eni-projektu
Pokud se v dané problematice neorientuješ, myslím si, že není důležité se tím aktuálně podrobněji zabývat a můžeš zvolit možnost s vestavěným serverem.

Odpovedať
17.6.2020 17:42
TruckersMP vývojář
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 10 správy z 31.