EC-CUBE4の管理画面で、商品一覧・受注一覧・会員一覧の並び順を変更する方法をご紹介いたします。
いずれもデフォルトでは”更新日順”になっていて、変更を加えたアイテムが上に表示されます。
商品一覧の並び順を変更する方法
商品一覧の並び順は、「src/Eccube/Repository/ProductRepository.php」のgetQueryBuilderBySearchDataForAdminメソッドで定義されています。
以下のような記述があり、デフォルトでは更新日の降順になっています。こちらを変更します。
// Order By
$qb->orderBy('p.update_date', 'DESC');
商品登録日で並べ替え
以下のように指定すると、商品登録日が新しい順で並べ替えられます。
$qb->orderBy('p.create_date', 'DESC');
‘DESC’は降順で、’ASC’にすると昇順になり順番が逆(古い順)になります。
商品IDで並べ替え
以下のように指定すると、商品IDの降順で並べ替えられます。
$qb->orderBy('p.id', 'DESC');
商品価格で並べ替え
商品価格の高い順にしたい場合は、以下のようにします。
$qb->addSelect('MAX(pc.price02) as HIDDEN price02_max');
$qb->orderBy('price02_max', 'DESC');
$qb->groupBy('p');
受注一覧の並び順を変更する方法
商品一覧の並び順は、「src/Eccube/Repository/OrderRepository.php」のgetQueryBuilderBySearchDataForAdminメソッドで定義されています。
以下のような記述があり、デフォルトでは更新日の降順、更新日が同じ場合は受注IDの降順で並ぶようになっています。
// Order By
$qb->orderBy('o.update_date', 'DESC');
$qb->addorderBy('o.id', 'DESC');
注文日で並べ替え
注文日が新しい順で並べる場合は、以下のように指定します。
$qb->orderBy('o.order_date', 'DESC');
受注IDで並べ替え
受注IDの新しい順に並べ替えたい場合は、以下のようにします。
$qb->orderBy('o.id', 'DESC');
入金日で並べ替え
入金日の新しい順で並べたい場合は、以下のようにします。
$qb->orderBy('o.payment_date', 'DESC');
発送日で並べ替え
発送日が新しい順で並べ替える場合は、以下のようにします。
$qb->orderBy('o.commit_date', 'DESC');
注文金額で並べ替え
注文の合計金額が高い順に並べたい場合は、以下のようにします。
$qb->orderBy('o.payment_total', 'DESC');
会員一覧の並び順を変更する方法
会員一覧の並び順は、「src/Eccube/Repository/CustomerRepository.php」のgetQueryBuilderBySearchDataメソッドで定義されています。
以下のような記述があり、デフォルトでは更新日の降順になっています。
// Order By
$qb->addOrderBy('c.update_date', 'DESC');
登録日で並べ替え
登録日が新しい順で並べたい場合は、以下のようにします。
$qb->orderBy('c.create_date', 'DESC');
会員IDで並べ替え
会員IDの新たしい順に並べ替えたい場合は、以下のようにします。
$qb->orderBy('c.id', 'DESC');
最終購入日で並べ替え
最終購入日が新しい順に並べる場合は、以下のようにします。
$qb->orderBy('c.last_buy_date', 'DESC');
購入回数で並べ替え
購入回数が多い順に並べたい場合は、以下のようにします。
$qb->orderBy('c.buy_times', 'DESC');
購入金額で並べ替え
合計の購入金額が高い順に並べる場合は、以下のようにします。
$qb->orderBy('c.buy_total', 'DESC');
あとがき
簡単に並べ替えることができますね。
各一覧ページの並び順を変更したい場合は、ぜひ参考にしていただければと思います。
この度、商品価格を一斉に変更する作業があるため、デフォルトの更新日順で並び替わると非常に作業しづらくなることが予想されていました。
こちらのカスタマイズ記事のおかげで、作業効率が上がりそうです。
とても分かりやすく役立つ記事をありがとうございました!
コメントありがとうございます!お役に立てたみたいで光栄です。