Latte makro s vnitřní cache
- jtousek
- Člen | 951
Chci si napsat makro na kompresi javascriptu (a css). Samozřejmě není vhodné vždy kompilovat znovu takže toto makro potřebuje uvnitř používat nějakou cache. Navíc potřebuji použít vlastní cacheStorage.
Problém je, že nevím, kudy ten cacheStorage do toho makra dostat aby to bylo správně. A pokud bych ten storage vytvářel přímo někde v kódu makra, tak mám stejný problém se zjištěním cesty k %tempDir%. Jaký je podle vás správný postup?
- OndrejSlamecka
- Člen | 41
V template je cache storage uložená v proměnné $netteCacheStorage. Dostane se tam takto https://api.nette.org/…rol.php.html#79. Do vlastního makra ji pak můžeš předat třeba tímto způsobem https://api.nette.org/…cro.php.html#64 a https://api.nette.org/…cro.php.html#98
Editoval OndrejSlamecka (21. 6. 2012 19:04)
- OndrejSlamecka
- Člen | 41
Aha, tak úplně stejně jako to dělá Nette? Do template si předat $customCacheStorage (např. v createTemplate v BasePresenteru).
(Jako „vlastní cacheStorage“ jsem předtím pochopil takovou, která přepisuje službu cacheStorage z Nette, ne takovou, která by tvořila zcela vlastní (jinak pojmenovanou) službu.)
Editoval OndrejSlamecka (21. 6. 2012 19:17)
- jtousek
- Člen | 951
To mě napadlo, ale rád bych to měl jako v knihovnu a tohle znamená závislost navíc – požadavek na volání něčeho v presenteru. Pokud nikoho nenapadne nic lepšího tak to tak holt udělám.
Edit: Aha. Měl jsem na mysli vlastní poděděné cache storage s drobnou úpravou pro daný případ.
Editoval jtousek (21. 6. 2012 19:18)