URL sản phẩm với các tham số bổ sung (CE 1.8 & EE 1.13)


13

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:

  1. 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"
  2. 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
  3. 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?


Chỉ cần một lưu ý phụ, chúng tôi phải thêm thẻ form_key vào url thêm vào giỏ hàng của chúng tôi sau một vài nâng cấp
EE1.13

Cảm ơn về đầu vào - bởi vẻ ngoài của nó, Magento sẽ tự động thực hiện việc này 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?
jharrison.au

Câu trả lời:


3

Ồ, khá là delta cho lớp đó từ 1.7.0.2 -> 1.8.0.0! Trong khi có những thay đổi đáng kể trong lớp này và đây là "hành vi vi phạm", thì nó nên được coi là một lỗi và nên được gửi tới bộ phận hỗ trợ EE.

Không có gì đặc biệt mới lạ hoặc sắc sảo về chức năng hợp lệ trước đây này và ngay cả trong một phiên bản nhỏ, các thay đổi phá vỡ không nên tồn tại (do đó Magento 2).


Cảm ơn Ben, chỉ muốn chắc chắn rằng tôi không thiếu thứ gì.
jharrison.au
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.