今回はEC-CUBE3の管理画面内にある商品マスターの並び順をカスタマイズしてみます。
商品マスターは登録されている商品の一覧を表示・絞り込みするための機能です。
商品マスターの並び順はレポジトリクラス(Eccube/Repository/ProductRepository.php)のメソッド、getQueryBuilderBySearchDataForAdminによって決まっています。
ProductRepositoryというクラスはEC-CUBEで商品に関するデータ取得やデータ更新を担っているクラスです。
// Order By $qb ->orderBy('p.update_date', 'DESC'); // ①
EC-CUBE3.0.14では273行目あたりで、上記のように①商品データの更新日の順番で受注マスタの並び順を指定しています。
並び変えたい場合はこのコードを変更してやればOKです。
並び替え方法
それでは、具体的に商品登録日や商品価格で並び変える方法です。
下記のように記述してください。
・商品登録日が新しい順で並び替えたい場合
$qb->orderBy('p.create_date', 'DESC'); // 商品登録日降順
・商品登録日が古い順で並び替えたい場合
$qb->orderBy('p.create_date', 'ASC'); // 商品登録日昇順
・価格が高い順で並び替えたい場合
$qb->addSelect('MAX(pc.price02) as HIDDEN price02_max'); $qb->orderBy('price02_max', 'DESC'); $qb->groupBy('p');
いかがでしょうか。これで商品マスターの順番が変更されたと思います。
管理画面が便利になりますのでEC-CUBE3をご利用の方はぜひお試しください。
EC-CUBEに関するお問い合わせ
[重要]現在公式にセキュリティサポートが切れていないPHPは8.1以上、MySQLは8.0以上で、対応しているEC-CUBEバージョンは4.2以上です。古いEC-CUBEを使っている方は適切なタイミングでバージョンアップをご検討ください。