Jak načíst cache ze šablony v presenteru / Nette 2.0

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

Ahoj,

chtěl bych optimalizovat stránky a mám problém s tím, že v presenteru mám nějaké ne-lazy dotazy z db. Ty dotazy se provedou zbytečně, je-li již vytvořená cache ze šablony. Potřeboval bych tedy v presenteru vytvořit nějakou direktivu typu:

$cache = Nette\Environment::getCache('Nette.Templating.Cache');
$key = 'cache_id_ze_sablony';
if (!isset($cache[$key])) {

}

Zkoušel jsem i toto z dokumentace:

$value = $cache->load($key);
if ($value === NULL) ...

a taky nic. tady jsem taky koukal, ale nic z toho mi nefungovalo ;-).

Víte, jak na to prosím?

frosty22
Člen | 373
+
0
-

Čauky,

bohužel Tě asi nepotěším, nejsem si sic jistý na 100%, ale stejný problém jsem řešil, před pár dny a po prozkoumání zdrojového kódu, jsem zjistil, že onen $key (dle příkladu) se generuje automaticky, podle daného názvu šablony / řádku, či podobně, čili tudy cesta asi nepovede.

Důvod, proč je tomu takto, je předpokládám, protože číst stav ze šablony není ideální návrh, na druhou stranu osobně bych v tom problém neviděl, aby se klíčem stal zadaný klíč u makra, v případě, že je (pokud ne, nechť se sám vygeneruje), ideálně asi s případem provázání na presenter, ale toto polemizování patří do jiné sekce, asi nejspíše založím téma, též by mě zajímalo, jaký je důvod tomu, že je to takto.

Založil jsem téma:
https://forum.nette.org/…z-presenteru

Editoval frosty22 (13. 8. 2011 15:43)