Vypnutí cache pro určitou stránku/presenter/latte

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

Potřeboval bych, aby se stránky, které se renderují v rámci jedné konkrétní akce presenteru nebo v celém presenteru. Jde toho nějak dosáhnout? Na fóru už takové dotazy jsou, ale žádný z nich nebyl zodpovězen.

David Matějka
Moderator | 6445
+
0
-

Jako cache pro latte? proc?

Andre
Člen | 24
+
0
-

Ano, cache pro latte.

Důvodem je, že dynamicky na serveru vytváříme textové (html, pdf, docx) soubory a ty pak nabízíme uživatelům ke stažení.

$this->sendResponse(new FileResponse($file, $fileName, null, true));

Problém je v tom, že soubor, který si uživatel stáhne, je ve staré verzi a nejsou do něj promítnuty změny, ke kterým mohlo dojít třeba před minutou. Pokud vymažu cache, soubor se stáhne aktuální.

David Matějka
Moderator | 6445
+
+2
-

Nechapu. Jak ten soubor generujes? Latte cache prevede .latte sablonu na .php soubor, aby se zrychlilo provadeni sablony. takze nechapu souvislost s tvym problemem.

Andre
Člen | 24
+
0
-

Zřejmě jsem se špatně vyjádřil ohledně toho, co jsem vlastně potřeboval. Šlo mi o to, že soubor, který jsme dynamicky generovali přes latte, měl bez ohledu na to, že z databáze načítané proměnné se změnili, pořád stejný obsah.

Kód, který jsem hledal a který problém vyřešil, pokud by se někomu hodil, vypadá následovně:

$template = $this->createTemplate();
$template->getLatte()->setTempDirectory(false);
$template->setFile($file);
....