EC-CUBEにはmtb_customer_order_statusというテーブルが存在するのをご存知でしょうか? mtb_order_statusというマスターテーブルがありこちらが管理画面で表示される受注状況(ステータス)の一覧となっているのは周知の事実だと思いますが、mtb_customer_order_statusはどのような役割を果たしているのでしょうか?

端的にいうと下のような区別があります。
管理画面に表示するステータス:mtb_order_status
マイページに表示するステータス:mtb_customer_order_status

どちらもdtb_orderのstatusというカラムから参照されており、受注のステータスを表していますが、管理者が見る受注状況とユーザーが見る注文状況は異なる表示をしたいことが多いのでこのような仕様となっています。

mtb_order_statusだけに受注ステータスを追加してmtb_customer_order_statusに対応するデータが存在しないと、マイページにおいて次のようなエラーが発生します。

FatalErrorException in Core.php line 0:
Error: Method DoctrineProxy\__CG__\Eccube\Entity\Master\CustomerOrderStatus::__toString() must not throw an exception

[重要]mtb_order_statusに受注ステータスを追加した場合は、必ず同じIDでmtb_customer_order_statusにも受注ステータスを追加するようにしてください。

関連するカスタマイズ

EC-CUBE3に設定されている受注ステータス一覧... EC-CUBE3では 受注ステータスを自由に追加することができます。 基本的なものばかりですが「購入処理中」など案外わかりにくいステータスもあります。 デフォルトで設定される受注ステータスと役割の関係を、$appに設定される英語キー名と一緒に一覧化してみました。 I...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...
ドクトリンで用いられるエンティティとレポジトリとは?... EC-CUBE3やEC-CUBE4で開発を行なっていると必ず耳にするのがドクトリンやエンティティ、レポジトリといったデータベース周りの用語です。 ECサイトはデータベースと密接に関係しているため、これらを用いずにEC-CUBEの開発を行うことは不可能です。 エンティティとレポジトリとは? ...