NOVINKA - Online rekvalifikační kurz Python programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze – Lekce 7 - Jednoduchý redakční systém v Symfony - Výpis článku

Zpět

Upozorňujeme, že diskuze pod našimi online kurzy jsou nemoderované a primárně slouží k získávání zpětné vazby pro budoucí vylepšení kurzů. Pro studenty našich rekvalifikačních kurzů nabízíme možnost přímého kontaktu s lektory a studijním referentem pro osobní konzultace a podporu v rámci jejich studia. Toto je exkluzivní služba, která zajišťuje kvalitní a cílenou pomoc v případě jakýchkoli dotazů nebo projektů.

Komentáře
Avatar
Lukinčok
Člen
Avatar
Lukinčok:28.3.2018 16:52

Ďakujem autorovi za tento tutoriál. :-)

Mám jeden postreh: v minulej časti sme si vkladali do databázy dva články. Jeden z nich mal podľa obsahu slúžiť pre chybovú stránku 404. V tejto časti sme ale kontroleru povedali, aby vyhodil výnimku tiež pre chybu 404 s nejakým našim popisom. Problém je, že nikde v nasledujúcich častiach už chybu 404 neriešime (alebo mám problémy so zrakom), takže na produkčnej verzii sa v prípade neplatnej adresy zobrazuje len štadnardná Not Found šablóna frameworku. Článok pre túto chybu sa teda zobrazí len v prípade, že si ho zavolám v URL a chybová hláška definovaná v kontroleri je viditeľná iba na dev verzii.

Možno by teda bolo dobré doplniť nejaké inštrukcie, ako vytvoriť šablónu pre chybovú stránku s výpisom hlášky, prípadne ako prepojiť článok "chyba" s chybou 404 bez toho, aby sa presmerovalo na ten článok. Vďaka. ;-)

 
Odpovědět
28.3.2018 16:52
Avatar
peter marák
Člen
Avatar
peter marák:8.1.2019 8:42

V controleri vysvetlujete tie 3 veci prilis strucne :-(
Mam skusenost s programovanim v Laraveli, co je tiez php framework, ale po precitani tohoto tutorialu si pripadam ako Alenka v risi divov...

 
Odpovědět
8.1.2019 8:42
Avatar
Igor Kuba
Člen
Avatar
Odpovídá na Lukinčok
Igor Kuba:31.7.2019 19:51

Chybu na neexistujúcu URL som ošetril tak že som upravil metodu index v ArticleContro­ller.php takto:

public function index(?Article $article): Response
{
    if($article===null)
        return $this->redirectToRoute ('article',array('url'=>'chyba'));

    return $this->render('article/index.html.twig', ['article' => $article]);
}

Nie som si istý či je to takto dobre, ale mne to funguje.

Editováno 31.7.2019 19:53
 
Odpovědět
31.7.2019 19:51
Avatar
Dušan Bartoš:24.5.2020 14:30

Problem (Symf5):

<title>{% filter striptags %}{% block title %}{% endblock %}{% endfilter %}</title>

... hlasi chybu "Unknown filter tag"
Reseni:
v base.html.twig filter vynechat

<title>{% block title %}{% endblock %}</title>

a ve vnorenych sablonach pouzito

{% block title %}{{ article.title|striptags }}{% endblock %}
 
Odpovědět
24.5.2020 14:30
Avatar
Natalie Bohmann:7.9.2020 16:11

Tak bohuzel Symfony mi asi neni souzeno, radsi budu dal prasit proceduralni php nez tohle.
Pokud postupuju podle navodu, tak errror:
App\Entity\Article object not found by the @Entity annotation. The expression "repository.fin­dOneByUrl(url)" returned null
a pokud si stanu hotovy projekt, tak pro zmenu:
Exception thrown when handling an exception (Symfony\Compo­nent\Config\Ex­ception\FileLo­aderLoadExcep­tion: Notice: Trying to access array offset on value of type null in C:\wamp64\www\cms\­config/routes\­../../src/Con­troller/ (which is being imported from "C:\wamp64\www\cms\­config/routes/an­notations.yam­l"). Make sure annotations are installed and enabled.)


Jinak sice chapu, ze psat kod do komentaru (anotace) je uzitecne, ale nelibi se mi to.

 
Odpovědět
7.9.2020 16:11
Avatar
Natalie Bohmann:7.9.2020 21:02

Uf, povedlo se mi to rozchodit. V databazi nebyly vlozeny ty 2 clanky, composer require symfony/apache-pack se musi nejak osetrit, aby to ve windows automaticky nezamitlo contrib recipe, par veci co fungovalo ve starsich vecich uz nejde a hazi errory.. Proste hnus.

 
Odpovědět
7.9.2020 21:02
Avatar
LudvaCT
Člen
Avatar
LudvaCT:5.8.2021 16:37

Ahoj, článek hezky popisuje, ale nic nevysvětluje.

Je fajn, že upozorňujete na "Zápis routování získávající URL daného článku", ale pro mě by bylo o dost zajímavější vědět JAK to funguje a jaká je syntaxe. Vytahuje si to z injektované entity Article privátní atribut "url" (přes nikde nezmíněný getter?)? Syntaxe je {url?}? Jakou roli v té anotaci hraje "name = article"? atd.. Co je důležitější než dobře pochopit jak funguje routování?

Orientace v dokumentaci a hledání těchto základních odpovědí není pro začátečníka zrovna jednoduchá vzhledem ke komplexnosti frameworku

 
Odpovědět
5.8.2021 16:37
Avatar
Jaroslav Patrný:2.4.2022 4:29

Ahoj, v této fázi projektu mám chybu viz screenshot.
Ani příkazem
php bin/console sync-metadata-storage
se nic nezměnilo, i když jsem obdržel hlášku
[OK] Metadata storage synchronized
Kde bych mohl mít chybu?

 
Odpovědět
2.4.2022 4:29
Avatar
Odpovídá na Jaroslav Patrný
Jaroslav Patrný:2.4.2022 16:37

Už jsem to vyřešil. V souboru .env v kořenové složce projektu jsem provedl změnu v přístupových údajích databáze. V řádku

DATABASE_URL=mysql://root:@127.0.0.1:3306/cms-symfony?serverVersion=5.7

jsem upravil serverVersion takto:

DATABASE_URL=mysql://root:@127.0.0.1:3306/cms-symfony?serverVersion=mariadb-10.4.11
 
Odpovědět
2.4.2022 16:37
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.