Score:0

การตั้งค่า $order_item->setUnitPrice($price, TRUE);) หยุดการรวมสินค้าในรถเข็น จะป้องกันได้อย่างไร

ธง cn

Drupal Commerce 2 กับ Drupal 9

ในเหตุการณ์ CART_ENTITY_ADD ถ้าฉันตั้งค่า $order_item->setUnitPrice($price, TRUE); รายการที่เหมือนกันที่เพิ่มลงในรถเข็นจะถูกเพิ่มเป็นรายการสั่งซื้อใหม่ แต่ฉันต้องการให้รวมเข้าด้วยกัน

ถ้าฉันแสดงความคิดเห็นในบรรทัดนี้ในรหัสของฉัน รายการจะถูกรวมเข้าด้วยกันตามที่คาดไว้และจำนวนจะถูกรวมเข้าด้วยกัน

ฉันจะตั้งราคาต่อหน่วยโดยไม่ถือว่ารายการสั่งซื้อเป็นรายการสั่งซื้อที่แตกต่างกันได้อย่างไร

รหัสที่เกี่ยวข้องของเหตุการณ์ CART_ENTITY_ADD:

ฟังก์ชั่นสาธารณะ addToCart (CartEntityAddEvent $event) {
    $order_item = $event->getOrderItem();
    // อัพเดทรายการสั่งซื้อ
    $order_item->setUnitPrice($ราคาจริง);
    $order_item->save();
}
No Sssweat avatar
ua flag
ผมขอดูภาพทั้งหมด คุณสามารถโพสต์รหัสทั้งหมดที่เรียกใช้ในเหตุการณ์ `CART_ENTITY_ADD` ได้ไหม
thiokol avatar
cn flag
เฮ้ @No Sssweat - ฉันได้อัปเดตคำถามด้วยรหัสเต็มแล้ว ฉันไม่คิดว่าโค้ดส่วนใหญ่เกี่ยวข้องกับปัญหา เช่น เมื่อฉันลบ $order_item->setUnitPrice($price, TRUE); รายการจะทำงานตามที่คาดไว้ และสินค้าและปริมาณจะถูกรวมเข้าด้วยกัน ฉันคิดว่า Commerce OrderItemMatcher จะต้องไม่ต้องการรวมรายการเมื่อราคาต่อหน่วยถูกกำหนดเช่นนี้?
Score:0
ธง ua

อืมมมมม มากกว่า order_item->บันทึก();ให้ลองใช้ตัวจัดการรถเข็น

//หยิบรถเข็น
$cart_provider = \Drupal::service('commerce_cart.cart_provider');
$cart = $cart_provider->getCart('ค่าเริ่มต้น');
// อัพเดทรถเข็น
$cart_manager = \Drupal::service('commerce_cart.cart_manager');
$order_item->setUnitPrice($ราคาจริง);
$cart_manager->updateOrderItem($cart, $order_item);

โบนัส: เมธอด/ฟังก์ชันบางอย่าง คุณอาจพบว่ามีประโยชน์

thiokol avatar
cn flag
ขอบคุณสำหรับการตอบกลับ. ฉันลงเอยด้วยการย้ายตรรกะการกำหนดราคาไปเป็นตัวแก้ไขราคาแทน นั่นอาจเป็นที่ที่ควรอยู่ ทุกอย่างทำงานอย่างถูกต้องเมื่อย้ายตรรกะการกำหนดราคาออกจากเหตุการณ์ CART_ENTITY_ADD และไปที่ตัวแก้ไขราคา

โพสต์คำตอบ

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