2

在我看来,我正在调用其中的几个元素:

<?=$this->element('overlay_panorama', array(
                        'id' => 1,
                        'header' => __('my header text'),
                        'folder' => 'files/folder/foo/',
                        'file' => 'bla'
                    ), array('cache' => false));?>

在元素内部我想使用像这样的参数

<div class="hidden" style="display:none;">
<span class="folder"><?=$folder;?></span>
<span class="file"><?=$file;?></span>
</div>
<h2><?=$header?></h2>

但是第一次调用仍然是缓存元素,每个元素都包含相同的内容。

有没有更好的方法来做到这一点?我可以禁用缓存吗?array('cache' => false) 好像没有生效?

4

2 回答 2

0

您可以使用 app/Config/core.php 中的以下代码取消注释来禁用缓存

Configure::write('Cache.disable', true);
于 2013-11-09T11:20:34.213 回答
-1

虽然这个问题有好几年了,但我认为这个答案可以帮助其他有同样问题的人。
正确的答案是您不应该在选项数组中发送“缓存”键,因为CakePHP 会检查该键是否存在,如果该键存在,它会激活该元素的缓存,而不管它包含的值如何.
因此,为避免缓存元素,请勿在选项数组中发送“缓存”键!

于 2017-07-03T14:53:15.500 回答