2017-12-31 178 views
2

장바구니 금액이 500 대를 초과하면 이동 통신사를 변경해야하므로 actionCartSave를 연결하고 금액을 확인하고 있습니다. 그러나 수행 할 때 금액을 확인합니다.Prestashop 장바구니 저장하지 않음

$cart->id_carrier=(int)$carrier_id; 
$cart->update(); 

ajax가 응답을 중지하고 제품을 장바구니에 추가했는지 확인하기 위해 페이지를 다시로드해야하지만 $cart->update()을 제거하면 이동 통신사가 업데이트되지 않습니다. 어떻게 해결할 수 있을까요?

답변

1

어쩌면 루프가 실행 중일 수 있습니다. update으로 전화하면 actionCartSave 후크가 다시 호출됩니다. 당신이 카트 캐리어가 같은 사람이 당신의 결과

if ((int)$cart->id_carrier !== (int)$carrier_id) { 
    $cart->id_carrier = (int)$carrier_id; 
    $cart->update(); 
} 

그 방법을 같이하는 경우 카트를 업데이트하지 않도록하기 만하면 무엇
, 당신은
또 다른 (더 나은) 솔루션을하는 것입니다 무한 루프를 방지 할 수 호출하지 않기 때문에 $cart->save();을 사용하십시오. actionCartSave