Singkatnya: Mengambil URL produk dengan params tambahan tidak berfungsi di CE 1.8 & EE 1.13.
URL telah berubah dengan versi Magento terbaru. Sebelumnya di CE 1.7 dan EE 1.12 panggilan $this->getAddToCartUrl($_product)
dari daftar produk akan berjalan melalui tahapan berikut:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Di sini ia akan menambahkan parameter "opsi" dengan nilai "keranjang"
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Metode ini pada dasarnya mendapatkan nilai dari model URL
Mage_Catalog_Model_Product_Url::getUrl()
- Banyak pemrosesan terjadi hingga URL akhirnya dihasilkan, lengkap dengan parameter kueri yang semula disahkan
Sekarang, dengan CE 1.8 dan EE 1.13, langkah 3 Mage_Catalog_Model_Product_Url::getUrl()
dimulai seperti ini:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Karena produk dalam daftar sudah memiliki data URL, parameter kueri tidak ditambahkan dan URL akhir tidak mengandung ?options=cart
.
Pertanyaan saya: Apakah ini bug atau fitur?
url
ee-1.13
url-rewrite
ce-1.8.0.0
jharrison.au
sumber
sumber
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
melalui inti / sesi singleton. Bisakah Anda memberi saya contoh kode yang Anda gunakan?Jawaban:
Wow, cukup delta untuk kelas itu dari 1.7.0.2 -> 1.8.0.0! Sedangkan ada perubahan substansial kelas ini, dan bahwa ini adalah "perilaku melanggar", itu harus dianggap bug dan harus diserahkan ke dukungan EE.
Tidak ada yang luar biasa novel atau kegelisahan tentang fungsi yang sebelumnya valid ini, dan bahkan dalam versi minor pembaruan perubahan tidak boleh ada (karenanya Magento 2).
sumber