仕事で通販サイトを運営していて、EC-CUBE3を導入しています。
サーバーがあれば別途ランニングコストは必要ありませんし、管理画面も見やすく、なかなか便利に使わせてもらっています。
ですが、ほぼ毎日使っているとやはり効率を求めてしまって、もっとこうならないかという欲が出てきてしまいます。
ということで、今回は個人的におすすめする受注マスター一覧のデフォルト表示を変更する方法をご紹介します。
EC-CUBE3のデフォルトでは、以下のようになっています。
並び順:注文番号の降順
表示件数:10件
※EC-CUBEのコアコードを修正しますので、修正前には必ずファイルのバックアップを取っておいてください。
EC-CUBEをバージョンアップをすると今回のカスタマイズコードは消えてしまいますので、ご注意ください。
デフォルトの並び順を変更する方法
まず並び順について、ご注文確定が早かった方から処理してあげたいので、注文日時の昇順に並べ替えます。
ちなみに、なぜ注文番号の昇順ではないのかと言うと、必ずしも注文番号の順番と注文日時の順番がイコールにならないからです。
おそらく、EC-CUBE3の仕様だと思いますが、注文番号を採番するタイミングと注文日時確定のタイミングが違うのではないかと思います。
ですので、自分の使い方だと注文日時の昇順が一番しっくり来るのです。
編集するファイル
src/Eccube/Repository/OrderRepository.php
※パスはEC-CUBE3のインストールフォルダからのパス
カスタマイズコード
OrderRepository.phpの452行目に「Order By」というコメントがありますが、そのすぐ下を以下のように書き換えます。
1 2 3 | // Order By $qb->orderBy('o.order_date', 'ASC'); $qb->addorderBy('o.id', 'DESC'); |
※実際に書き換えたのは、紹介コードの2行目$qb->orderBy(‘o.order_date’, ‘ASC’);という部分です。
order_dateが注文日時で、ASCが昇順という意味です。ちなみに、DESCは降順ね。
OrderRepository.phpの修正差分(diff)
1 2 3 4 | 453c453 < $qb->orderBy('o.update_date', 'DESC'); --- > $qb->orderBy('o.order_date', 'ASC'); |
デフォルトの表示件数を変更する方法
全然売れてないときは、表示件数が10件でも問題なかったのですが、ラッキーパンチで大量に売れたときがありまして、表示件数10件では効率が悪すぎて、100件に変えるだけでも大幅に作業効率があがったので、そのやり方をご紹介します。
日々の注文が少ないとしても、オープンから年数が経って受注件数がある程度になっているショップの方にもおすすめです。
編集するファイル
src/Eccube/Resource/config/constant.yml.dist
※パスはEC-CUBE3のインストールフォルダからのパス
カスタマイズコード
constant.yml.distの242行目に「default_page_count」という項目がありますので、この件数を書き換えます。
ちなみに、100件を超えて設定すると動作がおかしくなりましたので、やらないほうが良いと思います。
1 | default_page_count: 100 |
constant.yml.distの修正差分(diff)
1 2 3 4 | 242c242 < default_page_count: 10 --- > default_page_count: 100 |
紹介時のEC-CUBEのバージョン
EC-CUBE 3.0.18
おまけ
今回はデフォルトの表示を変更する方法をご紹介しましたが、表示後に並べ替えるプラグインはあります。
受注マスター並び替えプラグイン for EC-CUBE3
現時点でEC-CUBE 3.0.18には対応してませんが、使うことができました。