У меня проблема с созданием и добавлением объектов sales / quote_address в процесс оформления заказа с несколькими рассылками.В настоящее время, когда я создаю новый объект адреса, он просто снова и снова использует один и тот же объект;Таким образом, когда я добавляю элементы к одному адресу, он добавляет их ко всем адресам.В качестве проверки я помещаю цикл for после основного цикла, чтобы отобразить все идентификаторы созданных адресов - он всегда выводит число 3. Когда я пытаюсь динамически изменить идентификатор вновь созданных адресов (раздел с комментариями) они даже не появятся в финале цикла.Мой код выглядит следующим образом:
//dynamically create the addresses and add them to the shipping information screen
$idCounter = 1;
foreach($dropshippersCombineWProducts as $dropshippersWCProducts) {
$newAddress = null;
$newAddress = Mage::getSingleton('sales/quote_address')->importCustomerAddress($customAddress);
//$idCounter++;
//$newAddress->setId($idCounter);
foreach ($newAddress->getItemsCollection() as $item) {
$item->isDeleted(true);
}
foreach ($dropshippersWCProducts[1] as $_item) {
$newAddress->addItem($_item);
}
$quote->setShippingAddress($newAddress);
$newAddress->collectShippingRates();
}
$addresses = $quote->getAllShippingAddresses();
foreach ($addresses as $address) {
echo $address->getId();
}
Любая помощь будет высоко ценится.