我有一个关于浏览器追逐的问题。我的网站上有登录/注销按钮。问题是当我登录时,我必须重新加载页面才能看到注销按钮。我的布局中有这个按钮,条件if($logged_in)
.
我通过禁用所有浏览器缓存解决了它:
public function beforeFilter(){
$this->disableCache();
}
我发现这是一个糟糕的解决方案,所以我想问任何想法。例如,如果可能的话,如何仅为该按钮禁用缓存?
多谢。
编辑:在用户控制器中
public function login() {
if($this->request->is('post')){
if($this->Auth->login()){
$this->redirect($this->Auth->redirect());
} else {
$this->Session->setFlash('Spatne heslo');
}
}
}
public function logout() {
$this->redirect($this->Auth->logout());
}
它包含在default.ctp中:
<?php if(!$logged_in){ ?>
<div class="login">
<?php echo $this->Html->link('Login', array('controller' => 'users', 'action' => 'login')); ?>
</div>
<?php } ?>
<?php if($logged_in){ ?>
<div class="logout">
<?php echo $this->Html->link('Logout', array('controller' => 'users', 'action' => 'logout')); ?>
</div>
<?php } ?>
我还没有尝试过这个...我刚刚在 Cakephp 文档中阅读了它。
要指示不缓存的内容块,请将它们包装在'
<!--nocache-->
<!--/nocache-->