Mam problem z cachowaniem przy uruchomieniu funkcji jako plugin. Uprościłem całość i mam 4 proste pliki.
index.php
<?php require ('libs/Smarty.class.php'); $page = new Smarty(); $page->plugins_dir[]='plugins'; $page->display('index.tpl'); ?>
templates/index.tpl
{testfunction}
templates/menu.tpl
{$menu}
plugins/function.testfunction.php
<?php function smarty_function_testfunction($params, &$template) { $template->setCaching(\Smarty::CACHING_LIFETIME_SAVED); $template->setCacheLifetime(3600); if (!$template->isCached('menu.tpl')) { } $output = $template->fetch('menu.tpl'); $template->setCaching(\Smarty::CACHING_OFF); return $output; } ?>
Cache się niestety nie tworzy. Jeśli to co jest w funkcji przeniosę bezpośrednio do index.php z małymi zmianami plik się cachuje, więc to raczej nie wina uprawnień itp. spraw. Sprawdzałem na najnowszej wersji 3.0.7.
Ma ktoś pomysł co robię nie tak?
PS. Być może to kolejna sprawa z zasięgiem w nowym Smarty i dość nieprzewidywalnym (jak dla mnie) zachowaniem właśnie przy uruchomieniu pluginu.
Pozdrawiam