मैं Magento 1.9.3.8 का उपयोग कर रहा हूं और यह समस्या अभी भी मौजूद है।
आप यहां अपना फिक्स पा सकते हैं :
मूल रूप से मैं प्रत्येक url कुंजी जानकारी के लिए पृष्ठ url और blockId पर आधारित एक अद्वितीय स्ट्रिंग जोड़ रहा हूं, इसलिए प्रत्येक ब्लॉक में एक अद्वितीय कुंजी होगी:
/**
* Generates a string based on the page url (for example category/product pages) and concatenate the block id to the url
* Removes the caracters: /, . , &, = and , from this string
*/
private function generateUrlBasedString($blockId = null)
{
$currentUrl = Mage::helper('core/url')->getCurrentUrl();
$url = Mage::getSingleton('core/url')->parseUrl($currentUrl);
$path = '_' . $url->getPath();
$path = str_replace('/', '', $path);
$path = str_replace('.', '', $path);
$path = str_replace('&', '', $path);
$path = str_replace(',', '', $path);
$path = str_replace('=', '', $path);
if(isset($blockId)) {
$path .= '_' . $blockId;
}
return $path;
}
/**
* Retrieve values of properties that unambiguously identify unique content
*
* @return array
*/
public function getCacheKeyInfo()
{
$blockId = $this->getBlockId();
if ($blockId) {
$result = array(
'CMS_BLOCK',
$blockId,
Mage::app()->getStore()->getCode() . $this->generateUrlBasedString($blockId),
);
} else {
$result = parent::getCacheKeyInfo();
}
return $result;
}
जब तक Magento इस समस्या के लिए कोई समाधान तैयार नहीं करेगा, आप फ़ाइल बना सकते हैं:
एप्लिकेशन / कोड / स्थानीय / दाना / CMS / ब्लॉक / Block.php
और सामग्री के रूप में उपरोक्त github url से कोड डालें।
इस कोड का परीक्षण Magento 1.9.2। * और 1.9.3 के लिए किया गया है।