Vánoční nadílka Vánoční nadílka
Vánoční akce! Daruj lepší budoucnost blízkým nebo sobě. Až +50 % zdarma na dárkové poukazy. Více informací
Avatar
Adam Matis
Člen
Avatar
Adam Matis:17. listopadu 18:04

Ahoj měl bych takové dvě otázky, které se tykají systému přihlašování, který bych si chtěl v nette udělat.

  1. Formuláře

Jelikož bych chtěl aby bylo možné se přihlásit do systému odkudkoli, a ne třeba jen z Home, tak by měli být formuláře přímo v layoutu. Jak je tam vytvořit? Aniž bych je musel vytvářet ručně a zároveň je nemohu vytvořit pomocí createComponent, protože layout nemá žádný presenter.

  1. Přihlašování

Napadlo mě: abych docílil přihlášení odevšad měl bych mít jeden presenter pouze na přihlašování a po kliknutí na přihlášování by se měl zavolat redirect na tento presenter. Řeší se to takto ? Nebo je i nějaká jiná lepší varianta ?

 
Odpovědět 17. listopadu 18:04
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Odpovídá na Adam Matis
Jindřich Máca:17. listopadu 18:20

Ahoj, chápu to správně tak, že se rozhoduješ mezi těmito dvěma variantami? Jedna je, že budeš mít na všech stránkách někde umístěn formulář pro přihlášení a druhá, že budeš mít na všech stránkách umístěn odkaz na speciální stránku pro přihlašování?

Jako obojí není v Nette problém udělat, formuláře v rámci layoutu jdou udělat poměrně snadno, ale osobně bych se asi klonil spíše k té druhé variantě pomocí odkazu. Je to taková klasika, že máš někde v rohu tlačítka pro registraci a přihlášení, která odkazují na samostatné stránky. Ale to je pouze můj názor. :)

 
Nahoru Odpovědět  +3 17. listopadu 18:20
Avatar
Adam Matis
Člen
Avatar
Odpovídá na Jindřich Máca
Adam Matis:17. listopadu 18:40

No právě mi jde o tu první variantu.

 
Nahoru Odpovědět 17. listopadu 18:40
Avatar
Hando
Člen
Avatar
Hando:17. listopadu 18:49

Ahoj.
Tak pokud se nepletu, tak si můžeš udělat nějaký basePresenter, ve kterém nastavíš šablonu (layout) a do té můžeš rovnou v tom basePresenteru předat komponetu s přihlašovacím formulářem, ne?

 
Nahoru Odpovědět  +1 17. listopadu 18:49
Avatar
Jindřich Máca
Tým ITnetwork
Avatar
Jindřich Máca:17. listopadu 19:09

No, layout je mimo jiné šablona, která se aplikuje u více presenterů, nebo-li spousta presenterů má tento layout jako společný základ svojí individuální šablony. Když pak chcete předat proměnou nebo vykreslit komponentu v takovéto společné šabloně, musí to mít každý presenter, který ji používá. A abychom neduplikovali stejný kód do všech presenterů, využijeme dědičnosti a vytvoříme společného, povětšinou abstraktního, předka, který definuje tyto společné vlastnosti. To je obecná praktika z OOP. V Nette je pak takový společný předek označován právě jako BasePresenter. Najdete ho pak např. i v Nette sandbox. ;)

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 17. listopadu 19:09
Avatar
Adam Matis
Člen
Avatar
Adam Matis:17. listopadu 19:50

BasePresenter Samozřejmě mám jen mě to hned nenapadlo díky.

 
Nahoru Odpovědět 17. listopadu 19:50
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 6 zpráv z 6.