2011-01-24 28 views
0

私はmagentoエンタープライズ版1.9を使用しています。カスタムテーマ作成後、サイトは公開中です。しかし、問題はIE8でサイトを開いたときに、ページが安全でないような警告を出したことです。ページにはhttp/httpsの両方のコンテンツが読み込まれているためです。magento https + IE8警告問題

いつか私は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()" 

てみました。

誰でもこの問題を解決しましたか?この機能を見つけるのを助けてください。

答えて

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

+0

こんにちははい、私が考える1のthatsが、私はこの行を追加しました。 'skin' => $ this-> getSkinUrl()でも、そのコピーされたページが混在している場合、httpsページに警告が表示されます。 – Elamurugan