我正在页脚内设置Magento会话变量。php如下所示
<?php Mage::getSingleton('core/session')->setPopup('1'); ?>
然后我通过在接下来的几行footer. php中编写的javascript来访问它。
var val = <?php echo Mage::getSingleton('core/session')->getPopup()?>;
但是当我试图从我的网站的主页访问这个会话变量时,它显示为空白。表示未设置。但是如果我转到另一个页面,我可以看到会话变量被设置为我想要的值。然后,如果我回到主页,变量为空白(未设置)。
你知道这种有趣的行为可能是什么原因吗?
注意:我有我的Footer.php(块文件)覆盖在我的本地代码空间,并注释掉所有兑现的东西在承包商。这是为了确保页脚。
但我们也有全页缓存启用,不确定这导致的问题,如果是这样,如何解决这个问题,而不禁用全页缓存
通过向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');
}