web-dev-qa-db-ja.com

注文に条件付き送料を追加するにはどうすればよいですか?

私はeコマースサイトを構築しています。発送可能なアイテムをカートに追加するとき、注文に固定送料を追加する必要があります 定額 で実行できます。しかし、私はチェックアウトページに送料を示している間、オプション「住宅配達料金」を追加しなければなりません。ユーザーがチェックアウト時にこのオプションを選択した場合、注文に別の送料を追加する必要があります。

この条件付き送料を追加する方法を理解できません。

5
jibran

ここにアイデア、

  1. hook_checkout_pane()を使用してオプションを含める住宅用配送料チェックボックスとして
  2. 次に、注文の保存中に、ユーザーがこのオプションを選択したかどうかを確認します。 _hook_order_を使用します
  3. ユーザーがこのオプションを選択した場合は、関数uc_order_line_item_add()を使用して、配送料をラインアイテムとして追加できます。

前例:

_function hook_order(){
switch ($op) {
.....................
case 'save':
if($arg1->residential){
//if the checkbox was selected, we add the line item to the order. the following function  will add 100 to order total as shipping charge
uc_order_line_item_add
    (
      $arg1->order_id, 
      'shipping',
      t('Residential Delivery Fee'), 
      100, 
      NULL,
      array () 
    );

 }
}
_
1
Anoop Joseph