magento https + IE8 проблема оповещения - PullRequest
0 голосов
/ 25 января 2011

Я использую magento Enterprise edition 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());** 
}

Вот и все.Теперь вы можете спокойно использовать https в Internet Explorer.

При добавлении этой строки скин также входит в https при загрузке страницы https, поэтому в тот раз я не получил ошибку.Но здесь, в EE 1.9, я не могу найти эту функцию в Mage_Catalog_Block_Navigation .

Я пытался с командной строкой,

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

Это не возвращает функцию втаким образом, эта функция имеет некоторую другую информацию кеша.

Кто-нибудь решил эту проблему.Пожалуйста, помогите найти эту функцию.

1 Ответ

2 голосов
/ 25 января 2011

Я вижу следующий блок кода в 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

...