Мне нужно, чтобы все заказы имели один и тот же платежный адрес (потому что магазин используется внутри компании), но адрес доставки может отличаться. Я думал, что адрес выставления счета должен быть установлен программно во время sales_order_place_before
.
Каким-то образом код выбрасывает мне 500 Error
каждый раз, когда я хочу отправить свой заказ.
Я создал Observer, он срабатывает на sales_order_place_before, но почему-то не могу его запустить. Я ничего не могу найти по этой теме. Я нашел этот Обновить адрес доставки, аналогичный адресу выставления счета до / после размещения заказа с помощью Observer? , но он не работает для меня.
public function orderPlaceBefore($observer) {
$order = $observer->getEvent()->getOrder();
$billing_address = $order->getBillingAddress();
$shippingAddress = Mage::getModel('sales/order_address')
->setCustomerId($billing_address->getCustomerId())
->setCustomerAddressId($billing_address->getCustomerAddressId())
->setAddressType(Mage_Sales_Model_Quote_Address::TYPE_SHIPPING)
->setFirstname($billing_address->getFirstname())
->setMiddlename($billing_address->getMiddlename())
->setLastname($billing_address->getLastname())
->setSuffix($billing_address->getSuffix())
->setCompany($billing_address->getCompany())
->setStreet($billing_address->getStreet())
->setCity($billing_address->getCity())
->setCountry_id($billing_address->getCountryId())
->setRegion($billing_address->getRegion())
->setRegion_id($billing_address->getRegionId())
->setPostcode($billing_address->getPostcode())
->setTelephone($billing_address->getTelephone())
->setFax($billing_address->getFax());
$order->setShippingAddress($shippingAddress);
Спасибо большое заранее. Я действительно ничего не могу найти по этому поводу ...