2014-10-06 7 views
3

"Payment Accepted"상태가 자신의 프로세스를 실행하고 모든 것이 정상인 경우 - 주문 상태가 Shipped로 변경되는 개발 모듈을 사용하고 있습니까?Prestashop : hookActionOrderStatusUpdate의 주문 상태 변경

public function hookActionOrderStatusUpdate($params) 
{ 
    if($params['newOrderStatus']->id == 2) 
     { 
      if(!$this->doSomething()) 
       return false;    
     } 
    return /*function for changing order's state*/; 
} 

그러나 문제는 전에 새로운 주문 상태 변경 '결제 허용 "고한다 : hookActionOrderStatusUpdate를 사용하여 해당 I'am하십시오. 예 :

  1. 는 배달 bankwire 지불
  2. 대기
  3. 지불 허용

사람이 그 문제를 reslove하는 방법을 알고 있나요? P. S.는 hookActionOrderStatusPostUpdate를 시도했습니다. PS 1.6.0.9

답변

1

displayOrderConfirmationdisplayPaymentReturn 후크를 시도하십시오. 이러한 후크는 지불 후 params 변수의 주문 세부 사항을받습니다.

0

나는 비슷한 문제가있어서 hookActionOrderStatusUpdatehookActionOrderHistoryAddAfter의 조합을 사용했습니다.

그 이유는 hookActionOrderHistoryAddAfter이 실제로 "유료"상태 후에 다른 상태를 추가 할 수 있기 때문입니다. 그리고 hookActionOrderStatusUpdate은 이전에 "배송 됨"을 추가하지만 hookActionOrderHistoryAddAfter은 설정 될 상태를 알지 못합니다. 그러면 다음과 같이 보입니다.

class MikolaHooks extends Module 
{ 

    public $newOrderStatusId = NULL; 
    public function hookActionOrderStatusUpdate($params) { 
     $this->newOrderStatusId = $params['newOrderStatus']->id; 
    } 

    public function hookActionOrderHistoryAddAfter($params) .... 
관련 문제