[Magento]一部の商品だけを送料込にする

送料が設定されている中で、一部の商品だけ送料込にしたいという要望がありました。
ギフト用の組み合わせ商品のような場合です。
EC-CUBEでは結構面倒なカスタマイズが必要なのですが、Magentoでは管理画面での設定だけでできます。

設定は、「プロモーション」の「ショッピングカート価格ルール」で行います。
ここで、送料込の商品は送料無料とする という設定を行うわけです。 

※Magento 1.6 で、エクステンション「Rack-JP」で日本語化されている前提で説明しています。

ルールの作成

「新規ルールの追加」を行います。

情報タブはデフォルト設定で構いません。
クーポンの設定は不要(「クーポンがありません」)です。
顧客グループはすべて選択し、必要なら開始日と終了日を設定してください。 

条件タブの設定も不要です。

アクションタブでは、送料無料を「一致する商品のみ」とします。
そして、下段の条件を設定するところで、 送料込の商品を指定します。
・もし「いずれか」が「TRUE」であるなら
・商品属性「SKU」は「xxxxxxx」
(以下、商品を必要なだけ設定する)

20120414-1.jpg

SKUの設定は、入力ボックスの横のアイコンをクリックすると商品一覧が表示されますので、指定したい商品にチェックを入れます。前もって調べておく必要はありません。
ただし、一度に複数にチェックを入れるとうまく動作しません。 1行に1個ずつ設定してください。

これで保存すれば、指定した商品(送料込の商品)だけがカートに入っている場合、送料無料となります。
指定されていない商品(送料込でない商品)が一つでもカートに入ると、通常の送料が適用されます。
送料込の商品が一つでもカートに入っていたら、その時の買い物での送料を無料にしたいならば、アクションタブの送料無料の項目を「一致する商品の出荷」にしてください。

属性の追加でもっと簡単に設定する

上記の方法では、送料込の商品が増えるたびにプロモーションの設定を変更する必要があります。

せっかくですから、商品設定で送料込の設定ができるようにして見ましょう。

まず、商品属性を追加します。
 「カタログ」-「属性」-「属性管理」を開いて、「新規属性の追加」をクリックします。

属性コードは何でもいいのですが、わかりやすいものをつけましょう。省略しすぎると将来的に他とかぶるかもしれないので、多少長くてもきちんとつけてください。
他の項目のうち、設定が必要なものは下記の項目です。
・カタログ入力形式:「Yes/No」
・標準の値:「No」
・一意の値:「No」 
・値が必要:「No」
・プロモーションルールの条件で使用する「Yes」
他の項目は「No」でいいと思います。

20120414-2.jpg

最後に、ラベルタブでラベルを設定してください。
「送料込」とかでいいと思います。

次に、「カタログ」-「属性」-「属性セット設定」で、使用している属性セットに属性を追加します。
使用している属性セットを開いて、「未割り当ての属性」から、先ほど追加した属性をグループにドラッグします。
今回は、Priceの下に追加しました。

20120414-3.jpg

追加出来たら保存します。

これで、商品管理画面に「送料込」が表示されるようになります。
価格に送料を含む場合は、ここを「Yes」にします。
属性設定で標準の値を「No」にしているので、既存の商品は「No」になっています。 

20120414-4.jpgでは、これに合わせてプロモーションルールを変更してみましょう。
先ほど設定したルールを開き、アクションタブを開きます。
そして、下段の条件設定のところで、商品を一つ一つ設定するのではなく、下記のように設定します。
・商品属性「送料込」は「Yes」 

20120414-5.jpg

これで保存すれば、今後は、商品設定で「送料込」を「Yes」にするだけでその商品は送料無料になります。

遠方は別送料という設定は?

プロモーションルールの条件タブで、配送先の都道府県を限定することもできます。
郵便番号で指定すると、「離島だけは送料を頂きます」といった設定もできます。
しかし、通常と違う送料(北海道と沖縄は送料込の商品の送料は500円です など)を設定することは管理画面だけではできないようです。

代替方法としては、別にルールを設定して、送料が必要になる県にはそれぞれ割引額を設定して、結果的に送料が500円になるようにするしかないかなと思います。
良いアイデアを知っている方は教えてくださいね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です