2017-12-31 149 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

関連する問題