Nette: Návrat na předchozí stránku po odeslání formuláře

Po odeslání formuláře se často potřebujeme vrátit na předchozí stránku.

Řešení: Před přechodem na stránku s formulářem uložíme url počáteční stránky do sessions. Po odeslání formuláře a vykonání potřebného kódu přečteme uloženou url adresu a provedeme přesměrování.

Abychom tento proces nemuseli provádět ručně, využijeme metody Nette storeRequest()restoreRequest(), které jsou k této činnosti určeny.

Pokračování textu Nette: Návrat na předchozí stránku po odeslání formuláře

Nette: Proces přihlášení uživatele

Autentizace (přihlášení uživatele) představuje proces ověření identity uživatele, nejčastěji prostřednictvím porovnání zadaných přihlašovacích údajů oproti seznamu existujících uživatelů.

Ve frameworku Nette hrají roli v procesu autentizace následující části.

Objekt User obsluhuje přihlášení (login()) a odhlášení logout() uživatele a ověření, zda je uživatel stále přihlášen (isLoggedIn()).

Objekt Autentikátor, ověřuje zadané přihlašovací údaje uživatelem (authenticate()).

Objekt Identity obsahuje data uživatele.

Pokračování textu Nette: Proces přihlášení uživatele

Nette: Router a URL

Routování v Nette zajišťuje obousměrný převod mezi URL a akcí presenteru:

Pravidla routování lze kdykoliv změnit.

Typy routerů

Nette: SimpleRouter

Nejjednodušší varianta routeru.

Použijeme, pokud:

  • není k dispozici přesměrování (mod_rewrite apod.)
  • nemáme zvláštní nároky na tvar URL
  • nechceme řešit pěkné URL

API:

Nette\Application\Routers\SimpleRouter

Tvar URL:

http://zooom.cz/?presenter=Product&action=detail&id=123

Použití třídy:

$router = new SimpleRouter('Homepage:default');

Parametry:

  • výchozí presenter a akce (je použit při zadání URL bez parametrů)
  • (nepovinný) příznaky

Lze zaregistrovat v konfiguračním souboru (config.neon):

services:
  application.router: Nette\Application\Routers\SimpleRouter('Homepage:default')

Zdroje

Nette: nette.ajax.js

Načítání obsahu webových stránek bez nutnosti obnovení stránky prostřednictvím AJAXového volání je dnes běžnou praxí.
Toto chování urychluje zobrazení webové stránky a snižuje množství přenášených dat mezi serverem a prohlížečem.

Zavést toto chování na webu postaveném na frameworku Nette je, díky připraveným skriptům snadné a rychlé. Pokračování textu Nette: nette.ajax.js

Nette: Životní cyklus presenteru

Cesta HTTP požadavku na aplikaci:

  • soubor index.php
  • soubor bootstrap.php
  • objekt $application
    • router – překlad požadavku na název presenteru a akce
    • vytvoření objektu presenteru (presenterFactory)
  • presenter – zpracuje požadavek a vrátí odpověď (HTML stránka, obrázek, XML dokument, soubor na disku, JSON, přesměrování atd.)

 

Pořadí volání metod presenteru při běžném požadavku

nette-zivotni-cyklus-presenteru

Pořadí volání metod presenteru při požadavku na signál

nette-zivotni-cyklus-presenteru-kliknuti-na-signal

 

Pořadí volání metod presenteru při odeslání formuláře

nette-zivotni-cyklus-presenteru-odeslani-formulare

Nette: Doplněk pro Debugger Bar

Debugger Bar je plovoucí panel, který se zobrazí v pravém dolním rohu stránky.
Do Debugger Baru lze přidávat další užitečné panely. Řadu jich najdeme v doplňcích.

Můžeme si vytvořit vlastní doplněk, který bude poskytovat informace podle vlastních potřeb. Pokračování textu Nette: Doplněk pro Debugger Bar