Я борюсь со специальной проблемой, связанной с перенаправлением какого-либо наблюдателя Magento.Magento OPC Observer redirect
Я написал расширение и поместил наблюдателя в событие checkout_submit_all_after, которое работает нормально. Мое небольшое расширение автоматически создает счет-фактуру и устанавливает статус заказа на обработку, как только метод оплаты «Счет-фактура». К сожалению, перенаправление после отправки заказа в одной странице проверки больше не работает. Он всегда перенаправляется на «checkout/cart» вместо «checkout/onepage/success».
Кто-нибудь знает, что я делаю неправильно?
Вот мой код:
class Shostra_AutoInvoice_Model_Order_Observer
{
public function __construct()
{
}
public function auto_create_invoice($observer)
{
$order = $observer->getEvent()->getOrder();
if (!$order->hasInvoices()) {
$payment = $order->getPayment()->getMethodInstance()->getTitle();
Mage::log("payment method: " . $payment);
if($payment=="Rechnung"){
Mage::log("autocreating invoice");
$invoice = $order->prepareInvoice();
$invoice->register();
$invoice->pay();
$invoice->save();
$order->setState(Mage_Sales_Model_Order::STATE_PROCESSING, true)->save();
Mage::log("invoice created and saved");
}
$this->addComment('Order automatically set to paid.');
} else {
$this->addComment('no invoices found.');
}
$response = $observer->getResponse();
$response->setRedirect(Mage::getUrl('checkout/onepage/success'));
Mage::getSingleton('checkout/session')->setNoCartRedirect(true);
}
}
Спасибо большое!
Благодаря! Оно работает. :) – SoenkeM
Нужно ли ... – huzefam