копирование заказов клиента другому клиенту в magento


Можно ли получить все заказы клиента и скопировать их в другого клиента в magento?

Author: Teja Bhagavan Kollepara, 2013-06-28

2 answers

Два способа справиться с этим -

  1. Редактируйте базу данных напрямую. Не делай этого .

  2. Создайте одноразовый сценарий, который будет повторно связывать заказы с другими клиентами.

Для этого вы можете запустить что-то похожее на:

$fromCustomer = $customer->loadByEmail('[email protected]');
$toCustomer = $customer->loadByEmail('[email protected]');

$orderEmailCollection = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('customer_email',$fromCustomer->getEmail());
$orderIdCollection = Mage::getModel('sales/order')->getCollection()->addFieldToFilter('customer_id',$fromCustomer->getId());

foreach($orderEmailCollection as $order){
    $order->setCustomerId($toCustomer->getId());
    $order->setCustomerEmail($toCustomer->getEmail());
    $order->save();
}

foreach($orderIdCollection as $order){
    $order->setCustomerId($toCustomer->getId());
    $order->setCustomerEmail($toCustomer->getEmail());
    $order->save();
}
 4
Author: philwinkle, 2013-06-28 18:12:14

Есть такой сценарий:

Https://github.com/iateadonut/magento_copy_customer

Он захватывает клиента и все его заказы с помощью одной команды:

$mg->копи_кастомер(1234);

Если 1234 - это customer_entity.entity_id - Вы можете заглянуть в исходный код, чтобы увидеть, как были запрошены ограничения таблицы, чтобы убедиться, что все строки были захвачены.

Там есть и другие методы, которые должны быть в состоянии переместить заказ для вас. Ты мог бы раскошелитесь и передайте свою работу другим или попросите автора создать что-то конкретное.

 1
Author: iateadonut, 2014-05-29 21:58:55