Magento Session / Cache非常奇怪

时间:2013-05-29 03:27:29

标签: php javascript magento caching session-variables

我在footer.phtml中设置了一个Magento会话变量,如下所示

<?php Mage::getSingleton('core/session')->setPopup('1'); ?>

然后我通过在footer.phtml的下几行写的javascript来访问它。

var val = <?php echo Mage::getSingleton('core/session')->getPopup()?>;

但是当我尝试从我的网站的主页访问此会话变量时,它显示为空白。意思是没有设定。但如果我转到另一页,我可以看到会话变量设置为我想要的值。 然后,如果我返回主页,变量为空白(未设置)。

知道这个有趣行为的原因是什么?

注意:我的Footer.php(阻止文件)在我的本地代码空间中被覆盖,并在承包商中注释掉所有兑现的东西。这是为了确保footer.phtml不被缓存。

但我们也启用了整页缓存,不确定是否会导致问题,如果是这样,如何在不禁用整页缓存的情况下解决问题

1 个答案:

答案 0 :(得分:1)

通过向app/code/local/Mage/Page/Block/Html/Footer.php

添加以下两行来管理以解决此问题
protected function _construct()
{
    //Disabling footer from getting cashed by FPC
    $cache = Mage::app()->getCacheInstance();
    $cache->banUse('full_page');
}