我花了很多时间弄清楚代码/参数以在 magento 中为 Mage_Catalog_Block_Product_Price 块打孔。我可以在第一次加载页面时显示价格,但是当缓存 id 是唯一的时,它不会正确呈现价格(它确实会在应该缓存时正确缓存它)。我知道我需要向它发送参数,例如 product_id 等,但不清楚需要从 getCacheKeyInfo 将什么(例如'xx')发送到缓存容器中以在 $this->_placeholder->getAttribute('xx' 中使用)。以及需要准备什么并将其从 _renderView() 发送到价格布局/视图。
到目前为止,我已成功完成以下操作(它们各自输出测试数据)
- 在我的模块 /etc 文件夹中创建了 cache.xml
- 创建缓存容器模型并验证作品(只需要设置)
- 将 Mage_Catalog_Block_Product_Price 重写/扩展为我自己的模型以添加 getCacheKeyInfo()
所以问题是我已经尝试了容器模型的 _getCacheId() 和 _renderBlock() 与 getCacheKeyInfo() 的许多变体,如上所述。但我遇到了一个绊脚石。如果有人能引导我朝着正确的方向前进,将不胜感激。