Labo

EC-CUBE3 分室

【3.0.15】商品マスターの一覧表示順を変更する方法

2018年02月24日 / 投稿者名:chiharu


今回は管理画面の機能についてです。
商品マスターについて個人的に煩わしい機能があります。
商品マスターの商品表示順についてです。 
 
商品マスターにて商品検索した場合は表示順として「最終更新日」の新しい順となります。
便利な機能であるのは理解しているのですが・・・、正直不愉快です(笑)
 
頻繁に変更しているものが常に上に表示されると云う考え方は理解できます。
実際に近日中に誤って変更した商品も気付くことができるため、利点の方が多いのも認めます。
在庫などのメンテナンスも考えると便利な機能なんですよ。
 
しかし、変更の有無にかかわらず一定の順番で並んでくれる方が私には分かり易いんです。
と云うことで商品マスタの表示順を変更してしまいたいと思います(笑)
 
■商品マスターの一覧表示順を変更する方法
 
 ●ファイル
  <インストールフォルダ>/src/Eccube/Repository/ProductRepository.php
 ●モジュール
  getQueryBuilderBySearchDataForAdmin
 ●参考行目
  283行目ぐらいから
  ※
   前回までのカスタマイズ内容は顧慮してません。
   該当ファイルは初期の状態からカスタマイズをしています。
 ●変更内容

        // Order By
        $qb
            ->orderBy('p.update_date', 'DESC');

 ↓

        // Order By
        //$qb
        //    ->orderBy('p.update_date', 'DESC');
        $qb
            ->orderBy('p.id', 'DESC');

 ●概要説明
  今までの記事で変更していた「ProductRepository.php」が対象になります。
  とは云っても今回は管理画面の処理のため「getQueryBuilderBySearchDataForAdmin」モジュールが対象です。
 
  変更内容は本当に単純です。
  表示順の指定を「更新日時(update_date)」から「商品ID(id)」に変更するだけです。
  もちろん「DESC」「ASC」を変更することもできますが今回は「商品IDが大きい順」にしています。
  「商品IDが小さい順」にする場合は以下の様に変更して下さい。

        // Order By
        //$qb
        //    ->orderBy('p.update_date', 'DESC');
        $qb
            ->orderBy('p.id', 'ASC');

 
  今回は私の好みに合わせて「商品ID」順に表示順を変更しています。
  他の項目が良い場合は「p.update_date」の部分をソートしたい項目に変更すれば大丈夫です。
 
 
という感じで今回は終了とさせて頂きます。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

* Copy This Password *

* Type Or Paste Password Here *

*

コメント欄にコードを挿入したい場合は、[php][/php] を使ってください。