zencartのデフォルトで入っている配送モジュールで、どのバージョンにも日本語で地域料金、English版でzone ratesという名前である基本配送モジュールです。
これは地域料金、なんてありますがゾーンが分かれてたり地帯がどうとか、ややこしそうに見えますがちゃんと読んで設定すると柔軟な料金設定ができるいい基本モジュールです。
重量別、個数別、サイズ別、で料金設定ができて、設定したい地域によって柔軟にできます。
場所
includes/modules/shipping/zones.php
地域料金の項目(重さで送料を決めるモジュールです。)
zone1 countries
US
のみ記載だとUS(アメリカ)のみ対象の送料で、このゾーンに追加する場合国コードを入れます。日本だったらJP。日本とアメリカに送るのが同じ送料にしたい場合、US,JPとすると注文時に適用になります。
国コードだけだと国別でしか設定できないように思えますが、ローカライズの項目に国コードを追加できるようにもなっているので、県名を自分で追加してクロネコ宅急便用の料金設定もできそうです。
国コードはwikipedia等で、規格が決まっているので検索すればたくさん見つけられます。
https://ja.wikipedia.org/wiki/ISO_3166-1
Zone1 shipping table
1:8.00,
重さ1kgまで送料800円、という設定です。
追加する場合、
1:8.00,2:12.00,3:15.00
「:」コロンで区切った部分が「重さ:送料」で「,」コンマが一つの送料の区切りです。8.00や12.00は8ドルと12ドルの小数点が2個ついた表記です。
デフォルト通貨が日本円だと1kg以内は800円、という風になるので実際サイト上で架空の注文を出してみてどのような送料になるのかチェックするといいと思います。
ゾーンの数の変更のやり方
$this->zones “3”;
だったか、includes/modules/shipping/zones.php の内容を読むと初期設定が3ゾーンで、この数を変えるだけで5個でも10個でも地域分けができるようになります。
国コードで3地帯、ちょうどEMS郵便が3地帯で分けられていたのでEMS郵便用の設定を作ってみたやつです。こんな具合になればちゃんと動作します。