看代码:
layout/index.php 代码:
<?php if($this->beginCache('mytop',array('duration'=>3600000))){ ?>
<?php $this->renderDynamic('showlogin');?>
<?php $this->endCache();}?>
<?php echo $content;?>
component/controller.php 代码:
<?php
public $layout='index';
public function showlogin()
{
$this->renderPartial('/user/logininfo');
}
}
?>
/user/logininfo.php代码
<span>动态内容</span>
运行第一次结果:
<###dynamic-0###><span>动态内容</span>
刷新之后的结果:
<span>动态内容</span><###dynamic-0###><span>动态内容</span>
上面这个问题折磨了我好长一段时间。。
没办法 YII中文文档没有太多支持者 (我也想支持,但是英文很pool)
只好自己看源码:
首先看了缓存文件
内容如下:
经过猜测 应该是beginCache生的缓存内容再经过renderDynamicInternal(‘showlogin’);而这个就是直接把showlogin执行的结果插入到里面 然后就显示出来了。所以问题就在这里。
现在来求解 希望YII的盟友帮帮我 解决
这个动态缓存问题。