Jak je to presne s Presenter a View

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
krissott
Člen | 48
+
0
-

Mozna se mi budete nekteri smat, ale chtel bych si ujasnit par veci.

Vemte si priklad stranek s administraci.

Mam jakysi AdministracePresenter,
v nem mam view Zakaznici pro vypis mych zakazniku.
Url by bylo asi takhle nejak: url/admnistrace/zakaznici.

Samozrejme budu chtit mit moznost ty moje zakazniky upravovat.
A ted jsem premyslel jak to udelat, jaky je nejlepsi zpusob.

1.moznost
Tak asi nejlepsi mi prijde udelat si novy view : Upravazakaznika
takze url po kliknuti bude vypadat nasledovne url/administrace/upravazakaznika/id.

2.moznost
Zvolit si nejakou promennou $action , ktera by byla uprava, kterou bych pridal do routy.
url by vapdalo asi nejak takhle url/admnistrace/zakaznici/uprava/id

3.moznost
Nebo exituje nejaka 3 moznost ,kde muzou mit za sebou vice view?

Mozna premyslim uplne spatne a vy me urcite opravite ;)

Diky

_Martin_
Generous Backer | 679
+
0
-

A co udělat administraci jako modul, zákazníky jako presenter a view na úpravu? A budeš mít administrace/zakazniciadministrace/zakaznici/uprav.

David Grudl
Nette Core | 8147
+
0
-

krissott napsal(a):

Mozna se mi budete nekteri smat, ale chtel bych si ujasnit par veci.

Tady se ti rozhodně nikdo smát nebude.

1.moznost
Tak asi nejlepsi mi prijde udelat si novy view : Upravazakaznika
takze url po kliknuti bude vypadat nasledovne url/administrace/upravazakaznika/id.

Tvar URL a návrh struktury presenter&view spolu úzce nesouvisí, to znamená, že strukturu vol podle logického významu a URL se dají přizpůsobit.

2.moznost
Zvolit si nejakou promennou $action , ktera by byla uprava, kterou bych pridal do routy.
url by vapdalo asi nejak takhle url/admnistrace/zakaznici/uprava/id

To je zbytečné, od toho už je ve třídě Presenter proměnná $view.

3.moznost
Nebo exituje nejaka 3 moznost ,kde muzou mit za sebou vice view?

Všechny cesty vedou do Říma a stejně tak existuje více možností, jak rozvrhnout strukturu presenterů a URL. Volil bych způsob č.1