EC-CUBE3のマスター表示のデフォルトでは、検索ボタンを押さないと一覧が出てこないという仕様になっています。
検索ボタンを押すことはわかりきっているのだから、これははっきり言って無駄な動作だと思います。
ということで、検索ボタンを押さずに最初から一覧表示する方法をご紹介します。
※EC-CUBEのコアコードを修正しますので、修正前には必ずファイルのバックアップを取っておいてください。
EC-CUBEをバージョンアップをすると今回のカスタマイズコードは消えてしまいますので、ご注意ください。
一覧表示する処理(jQuery)
コントローラーを修正するというやり方もあると思いますが、今回はシンプルでリスクの低い方法でやりたいと思います。
考え方としては、検索ボタンを押すという行為をjQueryにやらせようというものです。
以下のように、ページをロードしたら検索ボタンを押すというコードを書いておけばよいのです。
カスタマイズコード
ファイル名は何でも良いですが、ここでは「site-function.js」というサイトオリジナルのjsファイルを新規作成し、下のコードを書いて保存します。
1 2 3 4 5 6 7 8 | /* * サイトオリジナルjs */ jQuery(document).ready(function ($) { if($("#result_list").length == 0 && $(".table_list").length == 0){ $("#search_form").submit(); } }); |
メルマガ管理プラグインを入れている場合、配信画面でバグる(submitが永久ループする)ので「.table_list」というクラスがあるかもチェックしています。
他にもプラグインを入れている方は要注意です。
サイトオリジナルjsファイルの置き場所
作成した「site-function.js」ファイルを以下に置きます。
html/template/admin/assets/js
※パスはEC-CUBE3のインストールフォルダからのパス
サイトオリジナルjsファイルの読み込み
上で書いたスクリプトを実行するには「site-function.js」ファイルを読み込む必要があります。
管理画面全体に適用したいので、default_frame.twigに読み込むコードを追加します。
編集するファイル
src/Eccube/Resource/template/admin/default_frame.twig
※パスはEC-CUBE3のインストールフォルダからのパス
カスタマイズコード
default_frame.twigの117行目に「function.js」というファイルを読み込んでいる行がありますので、その下にサイトオリジナルjsを読み込む行を追加します。
1 | <script src="{{ app.config.admin_urlpath }}/assets/js/site-function.js"></script> |
紹介時のEC-CUBEのバージョン
EC-CUBE 3.0.18
EC-CUBE3 キャッシュのクリア
twigファイルを修正したあとは、必ずキャッシュをクリアしてください。
キャッシュクリアの方法は、管理画面の「コンテンツ管理」>「キャッシュ管理」で、twigにチェックを入れて「キャッシュ削除」ボタンを押します。