URL ผลิตภัณฑ์พร้อมพารามิเตอร์เพิ่มเติม (CE 1.8 & EE 1.13)


13

กล่าวโดยย่อ: การดึง URL ผลิตภัณฑ์ด้วย params เพิ่มเติมไม่ทำงานใน CE 1.8 & EE 1.13

URL เปลี่ยนไปด้วย Magento รุ่นล่าสุด ก่อนหน้านี้ใน CE 1.7 และ EE 1.12 การโทร$this->getAddToCartUrl($_product)จากรายการผลิตภัณฑ์จะทำงานผ่านขั้นตอนต่อไปนี้:

  1. Mage_Catalog_Block_Product_Abstract::getAddToCartUrl()
    • ที่นี่จะเพิ่ม "ตัวเลือก" พารามิเตอร์การสืบค้นด้วยค่า "รถเข็น"
  2. Mage_Catalog_Block_Product_Abstract::getProductUrl()
    • เมธอดนี้รับค่าจากโมเดล URL เป็นหลัก
  3. Mage_Catalog_Model_Product_Url::getUrl()
    • การประมวลผลจำนวนมากเกิดขึ้นจนกว่าจะมีการสร้าง URL ขึ้นมาให้เสร็จสมบูรณ์พร้อมกับพารามิเตอร์การสืบค้นที่ แต่เดิมส่งผ่าน

ตอนนี้ด้วย CE 1.8 และ EE 1.13 ขั้นตอนที่ 3 Mage_Catalog_Model_Product_Url::getUrl()เริ่มต้นดังนี้:

$url = $product->getData('url');
if (!empty($url)) {
    return $url;
}

เพราะสินค้าในรายการมีข้อมูล URL แล้วพารามิเตอร์การค้นหาจะไม่เพิ่มและ URL ?options=cartสุดท้ายไม่ได้มี

คำถามของฉัน: นี่เป็นข้อบกพร่องหรือคุณสมบัติ?


เพียงแค่บันทึกด้านข้างเราจะต้องเพิ่มแท็ก form_key ลงในตะกร้าสินค้าของเราหลังจากการอัปเกรด EE1.13 สองครั้ง
brentwpeterson

ขอบคุณสำหรับการป้อนข้อมูล - โดยรูปลักษณ์ของมันวีโอไอพีจะทำสิ่งนี้โดยอัตโนมัติMage_Catalog_Block_Product_Abstract::getAddToCartUrl()ผ่านทางหลัก / เซสชันเดี่ยว คุณช่วยให้ตัวอย่างของรหัสที่คุณใช้?
jharrison.au

คำตอบ:


3

ว้าวค่อนข้างเป็นเดลต้าสำหรับคลาสนั้นจาก 1.7.0.2 -> 1.8.0.0! ในขณะที่มีการเปลี่ยนแปลงอย่างมีนัยสำคัญในระดับนี้และนี่คือ "พฤติกรรมที่ผิดปกติ" ก็ควรได้รับการพิจารณาข้อผิดพลาดและควรส่งไปยังการสนับสนุน EE

ไม่มีอะไรแปลกใหม่หรือหงุดหงิดเกี่ยวกับหน้าที่การใช้งานที่ถูกต้องก่อนหน้านี้และแม้แต่ในการเปลี่ยนแปลงการแตกหักการอัปเดตรุ่นรองไม่ควรมีอยู่ (ดังนั้น Magento 2)


ขอบคุณเบ็นแค่อยากให้แน่ใจว่าฉันจะไม่พลาดอะไรบางอย่าง
jharrison.au
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.