簡體   English   中英

Magento 2:如何在結賬時加載另一個客戶數據,而不是通過自定義模塊加載當前登錄的客戶?

[英]Magento 2: How to load another customer data on checkout instead of current logged in customer via custom module?

我想在結帳頁面上將客戶列表顯示為下拉列表,當我從該下拉列表更改客戶時,所有詳細信息(如送貨地址、客戶詳細信息)都應根據所選客戶進行更改。 但是當前登錄的客戶不應該注銷,應該從下拉列表中為選定的客戶下訂單。

最好的解決方案是熱烈歡迎請! 也發布在 Magento 堆棧上: https : //magento.stackexchange.com/questions/265315/magento-2-how-to-load-another-customer-data-on-checkout-instead-of-current-logg

使用此代碼,它會幫助你。

像下面這樣定義你的事件

<?xml version='1.0'?>
<config xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:noNamespaceSchemaLocation='urn:magento:framework/Event/etc/events.xsd'>
    <event name='checkout_submit_before'>
        <observer
                name='Arhamsoft_Order_Order_BeforeCheckout'
                instance='Arhamsoft\Order\Observer\BeforeCheckout'
        />
    </event>
</config>

現在為此創建觀察者

<?php 

namespace MODULE\Order\Observer; 
use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\ObjectManager\ObjectManager;
 /*** For Override Success Page **/
class BeforeCheckout implements \Magento\Framework\Event\ObserverInterface { 

     protected $_objectManager;

    protected $_orderFactory;    
    protected $_checkoutSession;

    public function __construct(        
        \Psr\Log\LoggerInterface $loggerInterface,
        \Magento\Checkout\Model\Session $checkoutSession,
        \Magento\Sales\Model\OrderFactory $orderFactory,
        \Magento\Framework\ObjectManager\ObjectManager $objectManager
    ) {
    }

    /*** For Save SA ID  And Other Attributes Values **/
    public function execute(\Magento\Framework\Event\Observer $observer ) { 

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM