【EC-CUBE3】検索フォームで商品コードやフリーエリアの内容を検索できるようにする方法

EC-CUBE | 2017.09.23

【EC-CUBE3】検索フォームで商品コードやフリーエリアの内容を検索できるようにする方法

ECCUBE3のデフォルトで用意されている検索フォームには、
カテゴリ検索とフリーワード検索が行える機能が用意されています。
フリーワード検索に入力して検索する場合、
検索対象になるのが、管理画面の商品登録画面から設定する「商品名」と「検索ワード」が対象となります。
「検索ワード」に設定すれば検索できるといっても入力するのが面倒なので、
その他の項目で入力した内容も検索対象としてみたいと思います。

商品コードやフリーエリアの内容を検索対象にする方法

修正するファイルは以下ファイルです。
/src/Eccube/Repository/ProductRepository.php

123行目付近に以下記述がありますので、以下のように修正してください。
※修正しているのは、以下の8行目だけです。

修正前

修正後

修正方法としては、ORで条件を繋げているだけなのでそれほど難しくないと思います。
1点注意としては、クエリに割り当てたい変数の記述漏れは注意しましょう。
今回であれば、「$key」です。
ORで繋げた分追加しましょう。