Tóm lại: Truy xuất URL sản phẩm có thông số bổ sung không hoạt động trong CE 1.8 & EE 1.13.
URL đã thay đổi với phiên bản mới nhất của Magento. Trước đây trong cuộc gọi CE 1.7 và EE 1.12 $this->getAddToCartUrl($_product)
từ danh sách sản phẩm sẽ chạy qua các giai đoạn sau:
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
- Ở đây nó sẽ thêm truy vấn "tùy chọn" với giá trị "giỏ hàng"
Mage_Catalog_Block_Product_Abstract::getProductUrl()
- Phương pháp này về cơ bản nhận được một giá trị từ mô hình URL
Mage_Catalog_Model_Product_Url::getUrl()
- Rất nhiều quá trình xử lý xảy ra cho đến khi URL cuối cùng được tạo, hoàn thành với các tham số truy vấn ban đầu được truyền vào
Bây giờ, với CE 1.8 và EE 1.13, bước 3 Mage_Catalog_Model_Product_Url::getUrl()
bắt đầu như sau:
$url = $product->getData('url');
if (!empty($url)) {
return $url;
}
Vì các sản phẩm trong danh sách đã có dữ liệu URL, nên các tham số truy vấn không được thêm và URL cuối cùng không chứa ?options=cart
.
Câu hỏi của tôi: Đây là một lỗi hoặc một tính năng?
Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
thông qua các đơn vị cốt lõi / phiên. Bạn có thể cho tôi một ví dụ về mã bạn đã sử dụng?