Zen Cart 代替配送モジュールのお問い合わせを頂いた

普段ならお問い合わせ頂いたことをブログ記事にすることは皆無なのですが、返信メールが届かなかったのでこちらで記事にしがてらコンタクトを頂こうかと。

お問い合わせの内容(本文の細部は変更してあります)

商品が二カ国から発送されます。
送料は発注額が300ドル以上なら無料となるのですが、2つの国に発送元がまたがる場合、A国の商品とB国の商品ごとにこの規定を適応させたいのです。
発注総額がA国のものだけについて300ドル以上だとA国分は送料無料。でもB国分が299ドルだと送料を一律40ドルいただくというようなことは出来ますか?

こういったことを代替配送モジュールで実現できるかということですね。
鍵になるのは国内の地域ベースではなく国ベースである点、国ごとに送料無料規定が異なる点、ドル決済な点でしょうか。

結論から言えば代替配送モジュールでモジュールのカスタマイズ無しに対応できます。
ただし、運用に留意する必要はあります。

代替配送モジュールは元々「メーカー別配送モジュール」として企画したものです。
その為、商品ごとに設定するメーカーをキーとしています。メーカー設定がなければ使えないということです。

今回のように発送元の国に応じて異なる送料規定を適用したいといった場合には、

  • 各商品にメーカーを登録する(商品登録画面で)
  • 国ごとの送料テーブルを2種類登録する(代替配送モジュール)
  • メーカーごとに代替配送の組み合わせを登録する(代替配送モジュール)

という様にすれば良いです。

代替配送モジュール設定項目
代替配送モジュール設定項目
配送の組み合わせ
配送の組み合わせ
組み合わせ設定画面
組み合わせ設定画面

これで前述の「国ベース」「国ごとに送料無料規定が異なる」ことはクリアできそうです。
もうひとつドル決済な点です。
このモジュールは日本語版での利用、デフォルト通貨日本円で動作することを想定しています。ドル建て決済にも対応できますがモジュールで生成している部分は円表示になっています。(下記画像のように最終的な送料表示はドル換算されます)

カート内表示
カート内表示

メーカーごとの内訳が表示されますがその部分のドル換算ロジックが実装されていない点を除けば実用に足ると思います。
別途有償でドル換算に対応することはできます。

このように今回のご要望に関してはそのまま使うことが可能です。

ZenCart日本語公式

http://zen-cart.jp/bbs/viewtopic.php?f=6&p=22836#p22836
注目度は高いけど、実のある議論は難しいかな。
・掲示板という場
・発言者の立場
利用者から見れば無料モジュールで標準搭載のほうがいいという意見が出るのは当然だよね。
その意味では、このトピの議論を掲示板という場に投げたのはいかがなものかと。
実はこの議論、以前よりdev-zenというZenCart開発用のMLや、skypeミーティングでされてきていることなんだよね。
そこでの意見は真っ二つで、「公式はモジュール開発をすべき」か否かでいつも紛糾する。
そしてコンセンサスは取れないままなし崩し的にモジュール開発がスタートした。(と俺は思っている。)
発言者の割合は半々から6:4くらいで「公式はモジュール開発している場合じゃない」という意見なんだよね。dev-zenでは。
なぜ掲示板にこの話題を投げたのか。
「みんなが望んでることはやっぱり公式のモジュールじゃん」
という主張のための議論ではないのか。
導きたい結論ありきの、論調の誘導が目的でこの場を選んだのならフェアじゃないなと。
(相変わらず俺は穿った見方するねw)
では改めて、なぜ今公式の運営に対するリソースが不足しているのか。
リソースが不足しているということは事実としての共通認識だ。
(誰と誰の共通認識かというと、公式モジュール賛成派と反対派)
それでも既に動いてしまっている複数のモジュール、テンプレート開発プロジェクトは進捗が見られる状態。
一部の人達がモジュール開発してる。
んじゃリソース不足してないんじゃないのかという意見も出そうだけど、ドキュメント、サイト、コアバージョン追随ということに関しては実働リソースがほとんどない。
何故かって?公式のプロジェクトは、アークウェブさんの社内リソースの投入と、一部の有志によって成立しているから。絶対数が足りないのでモジュールやテンプレート以外にリソースを割けないんだよ。
これ以上のリソースは有志頼みなんだけど、この有志が集まらない。
次。
ドキュメントの類にリソースが集まらないのは何故か。
ここのところの議論はいつもされてこなかった。
リソースが足りない。

誰かやってくれませんか?

誰もやらない。
この繰り返し。
リソースが足りない原因が掴めていない。
なんで誰もやらないのかということを考えたことはあるんだろうか。
どうも、面倒だからやりたがらないとしか捉えていない様子。
それは間違ってはいない。
大抵の人にとってドキュメントの整備は楽しくないからね。
楽しくない作業にも意義を見出す人達はいないのか?
モジュール作者とか、Web屋がその候補だと思うんだ。
こういう人は、ZenCartをビジネスライクに捉えている。
故に常にどうしたら売り上げが上がるかということを中長期的な視点から考えている。
楽しいか否かとか、やりがいとかは最優先項目ではない。
自分の利益の為にZenCartのユーザー拡大や、利便の提供が必要だと考えているので、楽しくない、陽の目をあびないドキュメント整備等の作業に「目的」を持って取り組める数少ない層なんだよ。
なのに、そういった層の人達がコミットしない。
何故か。
そこには原因があるはず。
公式の動きにコミットすると困ることがあるんだよきっと。
自分のビジネスが阻害されるからなんじゃないの?
自分が販売しているモジュールと重複するモジュール開発プロジェクトが立った。
自分が開発しようとしていたモジュールと重複する公式モジュール開発プロジェクトが立った。
自分がカスタマイズを請け負ったサイトと同様な機能を有するモジュール開発プロジェクトが立った。
こういった状況に陥ることは往々にしてあると思う。
そんな状況が発生することが目に見えてる以上、コミットすることはかなり難しい。
サイト構築とかカスタマイズする時守秘義務契約結ぶでしょ。
場合によっては競業避止も結ぶかもしれない。
法的にもコミットできなくなるね。
ではこういった人達が公式にコミットしたいと考えた時、回避策はないのか?
公式がモジュールをやらなかったらどうなる?
コアとかドキュメントだけだったら、上述のような状況は発生し得ないよね。
そうすればリソースが今よりも確保しやすくなる。
と思うんだけどどうだろうか。
自分のビジネスと競合するプロジェクトだけコミットしなければいいじゃんという意見はナンセンスだと思うよ。
公式は利用者の利便性を向上することも大事だけど、関わる制作者(モジュール作者に限らずWeb制作会社全般)の利益も守るべきだと思う。
掲示板にも書いたけど、関わる全ての人が利益を享受できないのはどこかが歪んでるんじゃないかな。