Karena ini adalah EE, saya dapat memanfaatkan dukungan Magento tetapi saya juga menyelesaikannya sendiri untuk membantu memfokuskan masalah dan mendapatkan solusi secepat mungkin. Perubahan kode disediakan oleh Magento sehingga menerapkannya ke file aplikasi / kode / inti yang sebenarnya baik-baik saja meskipun Anda selalu dapat menduplikasi file di / app / kode / lokal Anda dan menerapkan perubahan di sana.
Masalahnya adalah bahwa metode caching blok yang ditambahkan pada 1.14.2 tidak menghasilkan kunci cache yang unik sehingga ketika saya memiliki beberapa blok yang digunakan dalam ruang pengontrol kategori, kunci cache yang dihasilkan hanya menjadi unik untuk klik halaman pertama, menghasilkan semua halaman tersebut untuk menampilkan konten duplikat.
Cara mengatasinya adalah dengan menambahkan yang berikut ini (ditampilkan dalam format file berbeda untuk menunjukkan konteks di sekitar penambahan - cukup tambahkan baris dengan tanda + di mana mereka harus pergi):
Di app / code / core / Mage / Cms / Block / Block.php pada baris 72:
}
return $html;
}
+
+ /**
+ * Retrieve values of properties that unambiguously identify unique content
+ *
+ * @return array
+ */
+ public function getCacheKeyInfo()
+ {
+ $blockId = $this->getBlockId();
+ if ($blockId) {
+ $result = array(
+ $blockId,
+ Mage::app()->getStore()->getCode(),
+ );
+ } else {
+ $result = parent::getCacheKeyInfo();
+ }
+ return $result;
+ }
}
Dalam aplikasi / kode / inti / Penyihir / Cms / Blok / Widget / Block.php pada baris 82:
$helper = Mage::helper('cms');
$processor = $helper->getBlockTemplateProcessor();
$this->setText($processor->filter($block->getContent()));
+ $this->addModelTags($block);
}
}
unset(self::$_widgetUsageMap[$blockHash]);
return $this;
}
+
+ /**
+ * Retrieve values of properties that unambiguously identify unique content
+ *
+ * @return array
+ */
+ public function getCacheKeyInfo()
+ {
+ $result = parent::getCacheKeyInfo();
+ $blockId = $this->getBlockId();
+ if ($blockId) {
+ $result[] = $blockId;
+ }
+ return $result;
+ }
}
Saya tidak berpikir saya akan menjadi satu-satunya yang melihat masalah ini dan jika muncul di CE 1.9.2, mudah-mudahan ini akan membantu menyelesaikannya untuk beberapa orang.