Správné pojmenování metody action<Action> podle šablony
- fary
- Člen | 155
Dobrý den. Mám view Articles a v něm mám šablony from-around-the-world.phtml + další podobné. Pak mám presenter ArticlesPresenter a v něm metodu action<from-around-the-world>. Můj problém se týká toho, jak správně pojmenovat onu metodu. Zkoušel jsem actionFromAroundTheWorld, actionfromaroundtheworld, actionFrom_around_the_world a asi zilión dalších možností, ale pořád mě to v adrese prohlížeče vypisuje chybu, že neexistuje korespondující metoda. Jde mě o to, abych měl url v tvaru: example.cz/articles/from-around-the-world/1, kde pak ono číslo na konci značí číslo stránky ve výpisu článků v konkrétní dané sekci.
- fary
- Člen | 155
V tom případě to asi bude těmi routami. Ale jak je správně nastavit? Čtl jsem i návod v dokumentaci, ale pořád nechápu, co znamenají ta jednotlivá slova v masce, když napíšu třeba <presenter>/<action>/[<id>]. Chápu, že <něco> se přeloží na konkrétní část url a / pak už tedy znamenají jenom oddělovníky v url a že [] značí nepovinou hodnotu, ale ta slova presenter, action a id jsou klíčová slova nebo jsou to jen slova, která v programu nemají význam ale význam mají jen pro prgogramtora?
- fary
- Člen | 155
Laděnka se mě ani nezobrazí, protože se úkáže jen taková ta stránka
s červeným vykřičníkem a s nápisem: This address wasnt understood!
(Firefox). V url je pak chybová zpráva poslaná nette, která zní error:
Unable to pass parameters to action ‚Articles:from-around-the-world‘,
missing coresponding method.
Jenže ta metoda existuje a jmenuje se actionFromAroundTheWorld a
i s parametry je to správně. Šblonu jsem zkoušel jak
fromAroundTheWorld.phtml tak i from-around-the-world.phtml.
- fary
- Člen | 155
OK, takže už jsem to vyřešil. Takže kdyby se někdo dostal do podobné dezorientace, jako já, tak se musí:
jméno metody v presenteru: actionFromAroundTheWorld()
jméno šablony ve view: fromAroundTheWorld.phtml nebo
fromAroundTheWorld.latte
v odkazech (např n:href): Articles:fromAroundTheWorld
Konkrétně se jedná o zápis toho fromAroundTheWorld.