gpt4 book ai didi

magento - 如何在 Magento 中使用单独的 block 缓存进行安全和不安全的商店访问?

转载 作者:行者123 更新时间:2023-12-02 17:31:03 25 4
gpt4 key购买 nike

我使用 Magento block 缓存作为顶部导航 block 。问题是该 block 必须为皮肤目录中的文件生成一些 url,这些文件无法放入 css 文件中,因为文件名取决于类别模型数据。

现在,当我使用安全连接 (https://) 打开 magento 时,导航 block 将从缓存中获取并发送到浏览器,但 http://url 会导致大多数浏览器发出有关不安全元素的警告在页面上。

我希望有单独的缓存用于安全和不安全的连接。导航 block 扩展了 Mage_Catalog_Block_Navigation 类,因此具有以下缓存配置:

    $this->addData(array(
'cache_lifetime' => false,
'cache_tags' => array(Mage_Catalog_Model_Category::CACHE_TAG, Mage_Core_Model_Store_Group::CACHE_TAG),
));

最佳答案

嗯,比我想象的要简单......

我尝试通过附加带有当前安全状态的标志来覆盖方法 getCacheKey(),但起初这没有成功,但经过几次缓存清除后,现在似乎可以工作了:

public function getCacheKey()
{
$key = parent::getCacheKey();
$key .= Mage::app()->getStore()->isCurrentlySecure() ? '_S' : '_U';

return $key;
}

关于magento - 如何在 Magento 中使用单独的 block 缓存进行安全和不安全的商店访问?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2790121/

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