Smarty кэш и состояния входа в систему - PullRequest
2 голосов
/ 12 сентября 2009

Мне было интересно. Как вы, ребята, справляетесь со сценарием веб-сайта, где у вас есть вход и выход из состояний вверху. Так что, если кто-то вошел в систему, вы говорите «Привет, Скотт». Если кто-то не вошел в систему, появится надпись «Войти».

Я использую Force Compile = false. И используя

(!$smarty->is_cached('index.tpl',$template_cache_id)) {
 do something
}

Что вы, ребята, используете, чтобы некоторые разделы не кэшировались, а другие кэшировались для такого распространенного сценария? Мой сайт photoidentify.com

Спасибо!

1 Ответ

4 голосов
/ 06 октября 2009

Я определил блочную функцию, которая исключает небольшие блоки шаблонов из кэша.

function smarty_block_dynamic($param, $content, $smarty) {
    return $content;
}

$smarty->register_block("dynamic", "smarty_block_dynamic", false);

Таким образом, все в шаблоне, окруженном {dynamic} {/ dynamic}, не будет кэшировано. Это позволяет выводить, например, данные на основе сеанса, такие как зарегистрированное имя пользователя и т. Д.

...