Caching smarty在这种情况下如何使用缓存

Caching smarty在这种情况下如何使用缓存,caching,smarty,Caching,Smarty,} 我想将$sidebarHtml分配给另一个模板,但它似乎不起作用,我可以通过: $smarty->fetch(“sidebar.tpl”) 我需要$tags和$categories用于“sidebar.tpl” 或 $smarty->fetch(“sidebar.tpl”,$sidebarData) $sidebarData未定义 在这种情况下如何处理本页: 显示了此示例: 因此,在您的例子中,您应该在iscached的if的}关闭之后进行提取。是的,我知道,但是调用哪个方法“displ

}

我想将$sidebarHtml分配给另一个模板,但它似乎不起作用,我可以通过:
$smarty->fetch(“sidebar.tpl”)

我需要$tags和$categories用于“sidebar.tpl”

$smarty->fetch(“sidebar.tpl”,$sidebarData)
$sidebarData未定义

在这种情况下如何处理本页:

显示了此示例:
因此,在您的例子中,您应该在iscached的if的}关闭之后进行提取。

是的,我知道,但是调用哪个方法“display()”需要参数$sidebarData,$sidebarData在if(…)}中
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);
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');
?>