Kešování komponent

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

Ahoj,

zase zádrhel, chjo…
Řeším kešování na úrovni frameworku, podle návodu „Jak kešovat HTML“ je to celkem zřejmé. Problém je v tom, že presenter vykresluje cca 20 komponent a z toho každá má jiné proměnné. Tj. klíč pro keš by byl složený z mnoha proměnných, nehledě na to, že kdybych chtěl přidat další komponenty s jinýma proměnnýma…prostě mi to přijde příliš složité na udržování. Proto jsem se rozhodl, aspoň pro začátek, kešovat jednotlivé komponenty, tam těch proměnných není tolik a bude to lépe udržovatelné.
Jenomže nevím jak to udělat. Návod „Jak kešovat HTML“ se vztahuje na presentery. Komponenty v presenteru vytvářím

<?php
	public function createComponentFeatured() {
		$featured = new Featured;
		$featured->setTemplateType(JaakTemplate::MAGAZINE);
		return $featured;
	}
?>

fakt nevím, ve které metodě (kterého objektu) mám kontrolovat klíč z cache (ideálně až v komponentě) a kde mám vracet to html, nakopne mě někdo?

Dík, Michal

wotaen
Člen | 82
+
0
-

OMG Davide, ty jsi génius, {cache}…{/cache} v šabloně řeší přesně tohle, není-liž pravda?

David Grudl
Nette Core | 8227
+
0
-

Jj, řeší, jen v současné implementaci se nedá ovlivnit klíč, který je vždy vztažený ke konkrétnímu bloku v konkrétním souboru šablony.