magento https + IE8警报问题

时间:2011-01-24 23:53:01

标签: caching ssl internet-explorer-8 magento

我正在使用magento Enterprise 1.9版,在自定义主题后,网站正在运行。但问题是当我在IE8中打开网站时,它提供了类似页面不安全的警报,因为页面加载了http / https内容。

在我为magento CE 1.4买到这样的东西之前的某个时候,它已经记住了。

getCacheKey的默认代码

public function getCacheKey()
{
    return 'CATALOG_NAVIGATION_' . Mage::app()->getStore()->getId()
        . '_' . Mage::getDesign()->getPackageName()
        . '_' . Mage::getDesign()->getTheme('template')
        . '_' . Mage::getSingleton('customer/session')->getCustomerGroupId()
        . '_' . md5($this->getTemplate() . $this->getCurrenCategoryKey());
}
然后将

替换为以下代码

public function getCacheKey()
{
    return 'CATALOG_NAVIGATION_' . Mage::app()->getStore()->getId()
        . '_' . Mage::getDesign()->getPackageName()
        . '_' . Mage::getDesign()->getTheme('template')
        . '_' . Mage::getSingleton('customer/session')->getCustomerGroupId()
        . '_' . md5($this->getTemplate() . $this->getCurrenCategoryKey())
        **. '_' . md5($this->getSkinUrl());** 
}

就是这样。您现在可以在Internet Explorer上使用和平的https。

通过添加此行,只要加载https页面,皮肤也会进入https,因此我没有得到错误。但在EE 1.9中,我无法找到此功能 在 Mage_Catalog_Block_Navigation

我试过命令行,

find -type f -print0 | xargs -0 grep -i "getCacheKey()"

这不会以这种方式返回函数,该函数具有一些其他缓存信息。

有人解决了这个问题。请帮助找到这个功能。

1 个答案:

答案 0 :(得分:2)

我在DOCROOT\app\code\core\Mage\Catalog\Block\Navigation.php中看到以下代码块:

/**
 * Get Key pieces for caching block content
 *
 * @return array
 */
public function getCacheKeyInfo()
{
    $shortCacheId = array(
        'CATALOG_NAVIGATION',
        Mage::app()->getStore()->getId(),
        Mage::getDesign()->getPackageName(),
        Mage::getDesign()->getTheme('template'),
        Mage::getSingleton('customer/session')->getCustomerGroupId(),
        'template' => $this->getTemplate(),
        'name' => $this->getNameInLayout()
    );
    $cacheId = $shortCacheId;

    $shortCacheId = array_values($shortCacheId);
    $shortCacheId = implode('|', $shortCacheId);
    $shortCacheId = md5($shortCacheId);

    $cacheId['category_path'] = $this->getCurrenCategoryKey();
    $cacheId['short_cache_id'] = $shortCacheId;

    return $cacheId;
}

您应该能够覆盖和更新返回的密钥以满足您的目的。

干杯, JD