gpt4 book ai didi

magento - magento商店中标题的打洞

转载 作者:行者123 更新时间:2023-12-02 09:38:21 25 4
gpt4 key购买 nike

我已经在 magento 中实现了 header 的打洞,即使我已经让它在每个客户的基础上工作,我也需要能够通过使其在差异购物车项目计数上工作来更深入地实现这一级别。

这是我的代码。

class AD_PageCache_Model_Container_Header extends Enterprise_PageCache_Model_Container_Abstract {

protected function _getIdentifier() {
return $this->_getCookieValue(Enterprise_PageCache_Model_Cookie::COOKIE_CUSTOMER, '');
}

// public function getCacheKeyInfo() {
// $info = parent::getCacheKeyInfo();
// die('boo');
// $info['cart_count'] = Mage::helper( 'checkout/cart' )->getCart()->getItemsCount();

// return $info;
// }

protected function _getCacheId() {
//return 'CONTAINER_HEADER_' . md5($this->_placeholder->getAttribute('cache_id') . $this->_placeholder->getAttribute('cart_count') ) . '_' . $this->_getIdentifier();
return 'CONTAINER_HEADER_' . md5( $this->_placeholder->getAttribute('cache_id') . $this->_getIdentifier() );
}

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

$block = new $blockClass;
$block->setTemplate($template);
return $block->toHtml();
}

}

根据我从 Magento 上的打洞线程中读到的内容,我的理解是,当 FPC 缓存服务请求时,Mage 应用程序未初始化,因此基本上添加占位符属性的方法无法工作,因为 Mage::helper( 'checkout/cart' )->getCart()->getItemsCount(); 不起作用,对吗?

尽管它应该是这样,但它似乎根本没有运行,就像我在那里放置了一个 die() 调用,但什么也没发生。

那么我缺少什么?如何检索购物车商品计数,以便将其用于构建缓存 ID?

进展:我找到了Enterprise_PageCache_Model_Cookie::COOKIE_CART,但此情况仅在购物车更新时更改一次。之后它保持不变。这很奇怪,这感觉像是解决方案,但其行为却另有说明。

我也找不到 session 中的购物车商品计数。因此,我目前看到的唯一方法是在 session 中每次更新时保存购物车数量,然后在 _getIdentifier() 中使用它。

我发现购物车的观察者不一致。对于添加、更新,会调度事件,但对于删除,则不会。所以我想我可以以某种方式将我的观察者添加到报价的价格更新中,如果这与观察者的情况一致的话?

有什么建议吗?

最佳答案

查看我的类似问题:Full Page Cache invalidation on cart (quote) change

我放弃了实现,因为在我的情况下这是不可能的,但我会进一步深入研究Enterprise_PageCache_Model_Container_Advanced_Quote,因为它似乎被购物车 block 用来在引用内容的情况下刷新自身改变

关于magento - magento商店中标题的打洞,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14340493/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com