0
if(!$smarty->isCached("sidebar.tpl")){
$tags = $tagService->tagList();
$categories = $categoryService->categoryList();
$sidebarData = $smarty->createData();
$sidebarData->assign("tags", $tags);
$sidebarData->assign("categories", $categories);
$smarty->setCacheLifetime(3600*24);
$sidebarHtml = $smarty->fetch("sidebar.tpl", $sidebarData);

}

$sidebarHtml を別のテンプレートに割り当てたいのですが、うまくいかないようです。次の方法で $sidebarHtml を取得 でき ます
$smarty->fetch("sidebar.tpl")


$smarty->fetch("sidebar.tpl", $sidebarData);

この場合の対処方法

4

1 に答える 1

0

このページ: http://www.smarty.net/docs/en/api.is.cached.tpl

Shows this example:
<?php
$smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT);

if(!$smarty->isCached('index.tpl')) {
// do database calls, assign vars here
}

$smarty->display('index.tpl');
?>

したがって、あなたの場合は、iscached の if の終了 } の後にフェッチを配置する必要があります。

于 2013-11-12T15:16:29.153 に答える