受注ステータスを追加したけど表示されない

ショップを使っていくと増やしたくなる「受注ステータス」。
よくあるのが「メーカー問い合わせ中」とか、発送はしたけど戻って来ちゃったから「連絡待ち」だったり。

が、使い勝手を上げようと追加してみると
「mtb_order_statusのステータスを追加したけれど、購入履歴では空になっている!」
となることがあります。

今回、同じ内容を別々のクライアント様から悲しいことに障害ではなかろうかとご連絡を頂きました。
でもこれ!障害じゃないですよ!設定漏れです!

受注ステータスを管理しているテーブルは実は2つあるります。

mtb_order_status」と「mtb_customer_order_status」です。

mtb_order_statusは主にバックエンド側のステータス表示で使われます。
一方、mtb_customer_order_statusは、フロント側…つまりお客様が見る側のステータス表示で使われます。

つまり、mtb_order_statusにだけ追加してもフロント側で見ているステータスには該当の受注ステータスIDのデータがないので、空になるわけですね。

idとバックエンド用表示、フロント用表示と、1つのテーブルで管理できていれば分かりやすいんですけど、それはEC-CUBEがマスターテーブルをidとそれに対応するnameで対応させるという形式で統一しているので、ないものねだりは置いといて、そもそも2つのステータスが存在する理由はなぜなの?というところを説明します。

例えばですが、
お客様にとっては「発送準備中」のステータスであっても、
ショップ側にとっては「制作中」かもしれないし、「梱包中」かもしれないし、マスターの帳簿に「起票待ち」かもしれないし、「集荷待ち」だったりするかもしれません。
そもそもお客様にとっては「発注」だし、ショップにとっては「受注」だし、と注文自体の捉え方が立場よって違うんですよね!だからステータスも立場によって違うんです。そこに対応するために、2つの受注ステータスマスターが存在しています。

この2つのマスターは、実は小さな心遣いでEC-CUBEってええやん…って思えるんですが、それを知らないと「出ない!」「なんでだ!」「バグじゃないのか!」ってなるんですよね。
ちょっと悲しいです。


投稿日

カテゴリー:

投稿者: