我在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不被缓存。
但我们也启用了整页缓存,不确定是否会导致问题,如果是这样,如何在不禁用整页缓存的情况下解决问题
答案 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');
}