Als je het dynamisch wilt hebben door het in een database te zetten lijkt caching mij een oplossing voor je.
Maar angezien TPL_Magic niet aan caching doet en je Kohana's Fragment class ook al niet kunt gebruiken kan dit moeilijk worden...
*gaat met een vorige discussie verder* Ik heb liever business logic en presentation logic geschijden dan PHP en HTML gescheiden, en aangezien TPL_Magic eigenlijk alleen maar simpele find and replace parser is kan je dus geen presentation logic in de templates stoppen en zal die waarschijnlijk in de controller terecht komen en dus tegen MVC in druisen.
(Voor de nieuwkomers, ik heb over het algemeen liever bestanden die puur om presentatie gaan (maar wel PHP bevatten om dat mogelijk te maken) dan templates die door PHP geparsed moeten worden.)
De Kohana query builder enscaped automatisch waardes voor je.
Zie Kohana_Database::quote(), Kohana_Database::quote_table(), Kohana_Database::quote_identifier() en Kohana_Database_MySQL::enscape().
Zie DB::expr() en hoe Kohana_Database_Expression in de bovenstaande methods gebruikt wordt om iets letterlijk in de query te stoppen.