【问题标题】:CakePHP browser cacheCakePHP 浏览器缓存
【发布时间】:2014-02-23 13:19:29
【问题描述】:

我有一个关于浏览器 chaching 的问题。 我的网站上有登录/注销按钮。问题是当我登录时,我必须重新加载页面才能看到注销按钮。我的布局中有这个按钮,状态为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 } ?>

【问题讨论】:

  • 可以添加登录部分相关的代码吗?
  • 当然。我从控制器中添加了功能。
  • 您还可以包含视图吗?不清楚按钮是如何不包括在内的
  • 我在我的布局 default.ctp 中有它
  • $logged_in 如何/在哪里设置?这几乎是最重要的部分,我没有看到。

标签: cakephp caching cakephp-2.0 browser-cache


【解决方案1】:

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

为了指示不被缓存的内容块,将它们包装在 '

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

【讨论】:

    猜你喜欢
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2017-06-06
    • 2010-11-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多