3

prestashop の配送業者で州ごとに送料を設定する方法はありますか?

つまり、アラバマ州とアラスカ州では同じ配送業者で異なる送料が必要だとしましょう。

ありがとう

4

2 に答える 2

5

これにはいくつかの方法があります。このような外部モジュールを購入するか、次のようにオーバーライドを作成できます。

1) 「classes/Address.php」を「override/classes/Address.php」にコピーします。

2) 28 行目で、クラス名を AddressCore から Address に変更します。

3) 関数 getZoneById の前に、この新しい関数を貼り付けます

/**
* Return postcode of address
*
* @param $id_address Address id
* @return integer postcode
*/
public static function getPostcodeByAddress($id_address){
    $row = Db::getInstance()->getRow('
    SELECT `postcode`
    FROM '._DB_PREFIX_.'address a
    WHERE a.`id_address` = '.(int)($id_address));
    return $row['postcode'];
}

4) 関数 getZoneById の最初の行の前にこれを追加します。

$postcode=self::getPostcodeByAddress($id_address); 

if(in_array($postcode,array(your list of postcodes))){
    return id-of-your-zone;
}
于 2012-04-05T20:49:23.210 に答える
2

これは私のために働いた:

  1. ローカリゼーション -> ゾーンに移動します
  2. 州に応じて新しい異なるゾーンを作成しました。例えば。ゾーン名 = "NSW"
  3. ローカリゼーション -> 状態に移動します
  4. 州を選択し、新しいゾーンに変更します。例えば。「ニューサウスウェールズ」は「NSW」ゾーンに変更されました。
  5. 配送 - >運送業者に移動します
  6. 配送方法の「編集」をクリックします。
  7. 「配送先と送料」をクリック
  8. 現在、関連する州を持つ各ゾーンごとに送料を変更します。
于 2015-12-01T11:36:28.590 に答える