ตัวเลือกที่กำหนดเองสองตัวรวมกัน: ราคาระดับไม่ทำงาน


11

ฉันกำลังตั้งค่าผลิตภัณฑ์และราคาระดับชั้นใน Magento แต่ฉันสังเกตเห็นว่าในผลิตภัณฑ์อย่างง่ายพร้อมตัวเลือกที่กำหนดเอง (ตัวอย่างเช่นเสื้อยืดสีน้ำเงินเสื้อยืดสีแดง) ราคาระดับชั้นจะไม่ทำงานหากเรารวมเข้าด้วยกัน ในการเข้าถึงปริมาณ

ราคาระดับดูเหมือนจะทำงานเฉพาะเมื่อมีการเข้าถึงปริมาณจากการเปลี่ยนแปลงผลิตภัณฑ์หนึ่ง แต่ไม่ใช่การรวมกันของทั้งสอง

ฉันได้อ่านคำตอบต่าง ๆ ใน Stack Overflow และฟอรัม Magento และพวกเขาแนะนำให้สร้างผลิตภัณฑ์ที่กำหนดค่าได้ อย่างไรก็ตามนี่อาจเป็นเรื่องยากถ้าร้านค้ามีผลิตภัณฑ์จำนวนมากหรือมีรูปแบบมากมาย

คุณรู้วิธีแก้ปัญหาบางอย่างเพื่อให้ได้ราคาระดับ Tier ใช้กับชุดรูปแบบต่างๆหรือไม่?


คุณสามารถระบุชนิดของเสื้อยืดสีน้ำเงินและเสื้อยืดสีแดงได้ไหม พวกเขาเป็นผลิตภัณฑ์เดียวที่ไม่มีการเชื่อมโยงระหว่างพวกเขาหรือไม่?
Christophe Ferreboeuf

พวกเขาจะเป็นตัวเลือกที่กำหนดเอง ("น้ำเงิน", "สีแดง") ของ "เสื้อยืด" แบบง่าย ๆ ใน Magento ปัจจุบันถ้าราคาระดับเดียวกันคือสมมติว่า "10 หรือมากกว่านั้นคุณจะได้รับส่วนลด" มันจะใช้งานได้เมื่อซื้อ 10 Reds หรือ 10 Blues แต่ไม่ใช่เมื่อฉันซื้อ 5 + 5 ...
Peanuts

วีโอไอพีจะรู้ได้อย่างไรว่าผลิตภัณฑ์ทั้งสองนี้เชื่อมโยงกันแล้ว?
Christophe Ferreboeuf

ในตัวอย่างของฉันมีเพียง 1 ผลิตภัณฑ์ (ผลิตภัณฑ์แบบง่าย) ที่มีสองตัวเลือกที่กำหนดเอง (รูปแบบ): สีน้ำเงินและสีแดง วีโอไอพีไม่ได้คำนวณราคาชั้นเมื่อคุณเพิ่มขึ้นสองตัวเลือกของเดียวกันสินค้าง่าย (เรากำลังพูดถึงผลิตภัณฑ์ที่เรียบง่ายที่นี่ไม่ได้ผลิตภัณฑ์ที่กำหนด) สำหรับผลิตภัณฑ์ที่กำหนดค่าได้มีส่วนขยายที่อนุญาตให้ใช้การรวมระดับราคา ( magentocommerce.com/magento-connect/ ...... ) แต่อีกครั้งนี่ไม่ใช่กรณีของฉันเรามีตัวเลือกมากเกินไปในการสร้างผลิตภัณฑ์ต่อตัวเลือก)
ถั่วลิสง

คุณจะต้องใช้โมดูลที่กำหนดเองเพื่อให้บรรลุเป้าหมายนี้ หรือถ้าฉันเป็นคุณฉันจะพิจารณาใช้ผลิตภัณฑ์ที่กำหนดค่าได้ด้วยโมดูลราคาระดับที่คุณกล่าวถึง
ชุดนอน

คำตอบ:


11

ปัญหาที่นี่คือ Magento ปฏิบัติต่อผลิตภัณฑ์ด้วยตัวเลือกที่กำหนดเองที่แตกต่างกันเป็นรายการโฆษณาที่แตกต่างกันในรถเข็น ดังนั้นจำนวนสำหรับตัวเลือกที่กำหนดเองทั้งสองรูปแบบจะไม่เพิ่มขึ้นเพื่อให้สามารถผ่านรายการใบเสนอราคาสำหรับการกำหนดราคาระดับชั้นโดยเฉพาะ

ตอนนี้การทำงานนี้จะเกี่ยวข้องกับงานที่กำหนดเอง ฉันสามารถให้คุณพอยน์เตอร์ได้ว่าคุณสามารถทำให้มันทำงานในรหัสได้อย่างไร

เช็คเอาท์ Mage_Sales_Model_Quote_Address_Total_Subtotal::collect()

ในวิธีนี้คุณจะต้องวนรอบรายการอ้างอิงทั้งหมดและเชื่อมโยงปริมาณที่ทำเป็นชั้นที่เกี่ยวข้องกับแต่ละรายการอ้างอิง สมมติว่าคุณมีสองสายพันธุ์ A และ B ที่มีปริมาณ 1 และ 3 คุณจะวนซ้ำผ่านรายการคำพูดและทำสิ่งที่ชอบ:

$quoteItemA->setTieredQty(1+3);
$quoteItemB->setTieredQty(1+3); //ofcourse 1 and 3 are dynamic here

จากนั้นใน Mage_Sales_Model_Quote_Address_Total_Subtotal::_initItem

แทนที่จะใช้: $finalPrice = $product->getFinalPrice($quoteItem->getQty()); //on line 115 use:

$finalPrice = $product->getFinalPrice($quoteItem->getTieredQty());

สิ่งนี้เกี่ยวข้องกับงานที่กำหนดเอง แต่วิธีการที่ฉันแสดงรายการควรทำงานกับบางอย่างในการปรับเปลี่ยนทันทีที่คุณทำงานผ่านมัน


4

ฉันสามารถยืนยันได้ใช้งานได้

        /* hard coded - start */ 
        $cart = Mage::getModel('checkout/cart')->getQuote();
        $total_qty = 0;
        foreach ($cart->getAllItems() as $item2) {
          if ($item2->getProductId() == $quoteItem->getProductId()) $total_qty+= $item2->getQty();    
        }
        $finalPrice = $product->getFinalPrice($total_qty);
        // $finalPrice = $product->getFinalPrice($quoteItem->getQty());
        /* hard coded - end */ 
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.