component-macro – Komponentový model pro Latte inspirovaný Reactem

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

component-macro

Zveřejnil jsem experimentální rozšíření pro Latte, které dovolí psát lépe strukturované šablony bez Nette aplikačních komponent (i tam jej lze samozřejmě využít).

component-macro přidává tři makra n:component, n:key, n:child, které poskytují:

  • vykreslení části stránky jako komponenty
  • obalení renderovaného kódu komponentou (podobně jako například react-scrollbars)
  • vykreslení komponenty + nahrazení pojmenovaných bloků
  • předávání argumentů s využítím Latte mechanismů, možno zároveň rozbalit celé pole nebo předat všechny definované proměnné

Odkazy

Github: component-macro
Součástí jsou instalační pokyny, základní ukázka a více ukázek v testech

Dodatečné informace

Jedná se o experimentální rozšíření, nedoporučuju zatím nasazovat do produkce. Sám jsem jej zatím použil minimálně. Může obsahovat drobné chybky v opravdu komplexních případech a syntax se může změnit. I proto není zatím na addons portálu.

Zároveň mám dotaz, na instalaci v rámci Nette application. ComponentMacro::install vyžaduje Latte\Engine a adresář s komponentami. Konfigurační sekce latte.macros nedovoluje předávat install dodatečné argumenty. Jak toto rozšíření přepsat, aby šlo inicializovat v rámci ukázkového sandboxu mimo bootstrap.php? Zatím jde o předání jedné proměnné $dir, nicméně do budoucna plánuju komplexnější načítání z více adresářů, aby šlo využít například komponenty ve vendor, apod.

Editoval ales.kafka (19. 4. 2015 17:55)