Aliasy: novinka v navigaci po aplikacích

před 13 dny od David Grudl  

Máte ve své Nette aplikaci místo, na které často odkazuje? Nechcete přemýšlet, jaký je to presenter:action? S novinkou v Nette Application 3.2 přichází elegantní řešení, které vám práci zpříjemní. Jde o aliasy, které mění způsob, jakým přemýšlíte o navigaci.

Aliasy umožňují definovat snadno zapamatovatelné názvy pro různé presentery a akce. Místo toho, abyste museli používat dlouhé a složité identifikátory, můžete nyní použít jednoduchý a stručný alias. Například místo Front:Home:default můžete napsat jen @home. Nebo Admin:Dashboard:default zkrátit na @admin. To vše díky nové sekci v konfiguračním souboru vaší aplikace:

application:
    aliases:
        home: Front:Home:default
        admin: Admin:Dashboard:default
        sign: Front:Sign:in

Nemusíte přemýšlet, pod jakým presenterem je v projektu, který zrovna upravujete, administrace. Jednoduše si vytvoříte alias a pak v šabloně napíšete:

<a n:href="@admin">administrace</a>

Aliasy lze použít všude, kde pracujete s odkazy – ať už je to v šablonách, při přesměrování pomocí redirect() a tak dále.

Komentáře (RSS)

  1. meme when old guy saying „nice“

    před 13 dny
  2. Tohle je super, jen nebylo by prehlednejsi to mit primo v routru? Proste na jednom miste.

    před 13 dny · replied [3] David Grudl
  3. #2 trta911 jako že by router měl metodu setAliases([...]) nebo jak to myslíš?

    před 12 dny · replied [5] Šaman [6] trta911
  4. A parametry to umí?

    před 11 dny
  5. #3 David Grudl Něco podobného už používám, taky to definuji jako konstantu v routeru.
    const DefaultRoute = 'Dashboard:default';
    Potřebuji to v routeru pro definování běžné routy:
    $router[] = new Route('<presenter>/<action>[/<id>]', self::DefaultRoute);
    a pak v aplikaci pro přesměrování v případě, že uživatel není přihlášen/nemá práva.
    Půjde to použít i v tom routeru?

    před 8 dny
  6. #3 David Grudl spíš než setAliases([]) jsem myslel něco jako $router->addRoute(‚dashboard‘, ‚Admin:Dashboard:default‘)->setAlias(„admin“);

    před 6 dny · replied [7] David Grudl
  7. #6 trta911 to by ale bylo možné vytvářet aliasy jen pro presentery/akce, které mají specifické URL a své addRoute(). Současné řešení umožňuje vytvářet aliasy pro jakékoliv presentery nezávisle na routeru, který tak může být třeba SimpleRouter.

    před 5 dny

Chcete-li odeslat komentář, přihlaste se