CakePHP浏览器缓存

时间:2014-02-23 13:19:29

标签: cakephp caching cakephp-2.0 browser-cache

我对浏览器追逐有疑问。 我在我的网站上有登录/注销按钮。问题是当我登录时我必须重新加载页面才能看到注销按钮。条件if($logged_in)中我的布局中有此按钮。

我通过禁用所有浏览器缓存解决了这个问题:

public function beforeFilter(){
    $this->disableCache();
}

我发现这是一个糟糕的解决方案,所以我想问任何想法。例如,如果可能的话,如何仅针对那个按钮禁用缓存?

非常感谢。

编辑: 在UserController中

    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 } ?>

1 个答案:

答案 0 :(得分:0)

我还没有尝试过这个......我只是在cakephp文档上阅读它。

要指示不要缓存的内容块,请将其包装 &#39;

  <!--nocache-->
  <!--/nocache-->