このエントリはMagento Advent Calendar 2018の21日目です。

はじめに なぜMatrix Rateを入れる必要があるか

Magento2の送料設定システムには3つのデフォルト設定があります。
- Flat rate
- Table rate
- Free shipping

ひとつずつ見ていきましょう。

Flat Rate

フラット、つまり一律の送料をここで設定できます。国ごとに設定することができますが、次に説明するTable Rateのように距離や重さ、 総額などで変わる料金を計算することはできません。

Table Rate

Table RateではCSVファイルを使うことで
距離、重さ、商品数、総額などから送料の計算ルールを設定できます。

Free Shipping

送料無料になる条件もTable RateのようにCSVを使って設定きます。

これだけじゃ足りない時

Table rateのようなルールを使って一部の国・ 地域のみに、さらに追加で送料ルールの種類を設定したい時。
たとえば全国料金がFlat Rateで設定してあり、Table Rateで距離と重さによって変わる料金もすでにある状態で、
さらにNewYork在住者のみ選べる自転車配送300円をカスタムで設定したい場合、今回紹介するエクステンションが必要になります。

Matrix Rateについて

Matrix RateはWebShopAppsが開発している無料のエクステンションです。

CSVファイルを使用することで国、都市、地域、郵便番号、重さ、価格、商品数などを指定して複数のカスタム送料を設定できます。
今回はNewYorkerのみが選べるI Want To Ride My Bicycleというエコでお得な300円の配送方法を追加してみましょう。

環境について

Githubでは
* Magento >= 2.0 (Includes 2.2)に対応
* PHP 5.5
* PHP 5.6
* PHP 5.7 enforced in the composer.json
についてテスト済みと書いてあります。

今回はMagento2.1.16, PHP7.0という環境で試してみました。
PHP7.xでも今の所問題なく動いているようです。

Matrix Rateの導入方法

ではインストールしましょう。

Magento Install Directoryから
1. composer require webshopapps/module-matrixrate
2. composer update
3. bin/magento setup:upgrade
の順番で実行してください。

これだけでインストールは完了です。

それができたら、管理画面で
Store>Configuration>Sales>Shipping Methodsと進むと、
WebShopApps Matrix Rateという項目が追加されています。

CSVファイルのアップロード

ではCSVをアップロードしてみましょう。

今回のCSV
USAのNewyork市内のみで使えます。
地球環境とショップオーナーの健康に貢献するため300円と非常にお得にしてあります。


CSVファイルのアップロードは、
1. Default ConfigでWebShopApps Matrix RateをEnableに変更
2. Store Viewからメインショップを選び、Importをクリック
の2ステップです。

結果

CSVが設定できたら、チェックアウトのCityでNew Yorkを選びましょう。すると、配送方法のリストに今回のカスタム配送設定が確認できます。

このようにMatrix Rateを使うことでデフォルトの機能以上に細かい設定や、
かなり複数の設定を加えることができます。

よければ参考にしてみてください。