小编nov*_*vak的帖子

如何在产品页面中包含动态块并启用整页缓存?

我们想在产品页面添加动态块.问题是产品页面具有完整页面缓存(由于速度问题,我们无法将其关闭).我们希望根据登录用户的帐户在每个产品页面上显示不同的信息,并且因产品而异.

我创建了一个具有自己的缓存的单独块,但是它显示了上一个产品页面中的相同块.我正在尝试更改它的缓存方法,因此它不会保存以前产品页面中的缓存.

它最初几次进入产品页面,然后突然开始显示一个Magento错误页面,上面写着:"网站在检索http://www.mycompany.com/productpage.html时遇到错误.它可能是关闭维护或配置不正确."

这是我到目前为止所做的.我创建了app/code/local/MyCompany/MyModule/PageCache/etc/config.xml来添加MyCompany_PageCache_Model.

然后我用这些函数在app/code/local/MyCompany/MyModule/PageCache/Model/Container/MyFile.php中创建了控制缓存的文件:

protected function _getCacheId()
{
    return 'CONSTANT_CACHE' . md5($this->_placeholder->getAttribute('cache_id'));
}

protected function _saveCache($data, $id, $tags = array(), $lifetime = null)
{
    return false;
}

protected function _renderBlock()
{
    $blockClass = $this->_placeholder->getAttribute('block');
    $template = $this->_placeholder->getAttribute('template');

    $block = new $blockClass;
    $block->setTemplate($template);
    $block->setLayout(Mage::app()->getLayout());
    return $block->toHtml();
}
Run Code Online (Sandbox Code Playgroud)

我还使用我的占位符为CONSTANT_CACHE在Catalog/etc下创建了cache.xml.

上面的语法是不正确的,还是有更简单的方法来做到这一点?

caching magento

36
推荐指数
2
解决办法
2万
查看次数

标签 统计

caching ×1

magento ×1