启用FPC缓存时,会话值无法在块中工作。如何处理缓存启用块中的会话值。我已添加客户会话ID,如下所示。如何从缓存中获取客户ID。
public function getCacheKeyInfo() {
$info = parent::getCacheKeyInfo();
$info['current_product_id'] = Mage::registry('current_product')->getId();
$info['customer_id'] = Mage::getSingleton('customer/session')->getCustomerId();
return $info;
}
答案 0 :(得分:0)
在这种情况下,您需要从getCacheKey
方法返回自定义值,例如:
public function getCacheKey(){
if (Mage::getSingleton('customer/session')->getCustomerId() == '') {
return 'custom_cache_key_not_loggedin';
} else {
return 'custom_cache_key_' . Mage::getSingleton('customer/session')->getCustomerId();
}
}
但请记住,如果启用了FPC(FULL页面缓存),这将不起作用。因为FULL页面缓存不是您要求的问题。
如果我在哪里,我该怎么办?
在您的情况下,我更喜欢在用户登录时跳过缓存特定(用户)块。