注文後にカスタム機能を追加するオブザーバー関数を作成しています。そのために「sales_order_place_after」イベントを使用しています。注文後に値が挿入されていますが、ページが成功ページ (注文が行われたことを示す) にリダイレクトされません。モジュールを無効にするか、構成からこのイベントを削除すると、リダイレクトは正常に機能します。誰が私が間違っているのか教えてもらえますか?
ここに私のconfig.xmlコードがあります
<sales_order_place_after>
<observers>
<devengence_module_observer1>
<type>singleton</type>
<class>Devengence_Sugarcrm_Model_Observer</class>
<method>myFunction</method>
</devengence_module_observer1>
</observers>
</sales_order_place_after>
そして私の機能は
public function myFunction($observer){
$userOrdersModel=Mage::getModel("module/operations");
$userOrder=$userOrdersModel->load('OrderStatus');
echo "user Order is ".$userOrder;
if($userOrder->getId()) //// in case of update
{
$userOrdersModel->setId($observer->getEvent()->getOrder()->getStatus());
$userOrdersModel->setIsViewAllowed(0); //update the required value for enable and disable.
$userOrdersModel->save();
echo "User Order enable disable status updated";
}
else
{ // on new value insertion
$userOrdersModel->setId($observer->getEvent()->getOrder()->getStatus());
$userOrdersModel->setIsInsertAllowed(false);
$userOrdersModel->setIsUpdateAllowed(false);
$userOrdersModel->setIsDeleteAllowed(false);
$userOrdersModel->setIsViewAllowed(1);
$userOrdersModel->save();
echo "it does not exist, a new value has been entered in the database";
}
$userOrdersModel=Null;
$userOrder=Null;
}
この関数の実行後、ページは成功ページにリダイレクトされません。イベントが発生した後に明示的にリダイレクトする必要がありますか?