Více renderů v komponentě a jak sdílet proměnné mezi jejich šablonami?

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

Pokud mám komponentu a je tam více renderů, a každý má svou šablonu, např. potřebuji nutně vytvořit vlastní datagrid a potřebuji renderovat zvlášť filtr, hlavičku, body, patičku atd., ale např. při renderovani si komponenta zjistí kolik, že to vlastně bude mít sloupečků nebo něco podobného jak tuhle informaci kdesi uložím pro použití při renderování patičky? Např.?

Předpokládám, že každý render si vytváří svou vlastní novou šablonu ->createTemplate, pak už by snad bylo jen možné vzít si v šabloně $control a přířadit něco jemu?

Honza Marek
Člen | 1664
+
0
-

Jo. A proměnná $control snad v šabloně je i automaticky.

mcmatak
Člen | 490
+
0
-

no jasně, jen sem se chtěl zeptat, jak se na to díváte, jestli je gud idea něco jako iterátor předávat mezi šablonami pomocí controleru

Honza Marek
Člen | 1664
+
0
-

Pokud by něco jako iterátor nemuselo nutně vznikat v šabloně, tak by to asi mělo zůstat v controlu a těm šablonám to být předáváno jako parametr ($this->template->necoJakoIterator = $this->necoJakoIterator).

Ondřej Mirtes
Člen | 1536
+
0
-

Ten objekt bys měl taky udělat nezávislý na pořadí volání jednotlivých renderů (musí dle OOP stále zůstat v konzistentním stavu), takže by si to měl umět každý zjistit sám, případně pokud to zjišťovala nějaká metoda před ním, tak si tu informaci umět vytáhnout, aby nedocházelo třeba k více dotazům na DB.