- EC-CUBEで商品コードで検索可能にする方法
- 2015.07.03
商品コードで検索する必要があったので対応方法をメモします。
ECCUBEバージョン:2.13.3
対象ファイル
data/class/pages/products/LC_Page_Products_List.php対象関数
上記ファイル内の以下の関数を変更するだけです。
lfGetSearchCondition●変更前
// 分割したキーワードを一つずつwhere文に追加
foreach ($names as $val) {
if (strlen($val) > 0) {
$searchCondition[‘where’] .= ‘ AND ( alldtl.name ILIKE ? OR alldtl.comment3 ILIKE ?) ‘;
$searchCondition[‘arrval’][] = “%$val%”;
$searchCondition[‘arrval’][] = “%$val%”;
}
}●変更後
// 分割したキーワードを一つずつwhere文に追加
foreach ($names as $val) {
if (strlen($val) > 0) {
$searchCondition[‘where’] .= ‘ AND ( alldtl.name ILIKE ? OR alldtl.comment3 ILIKE ? OR product_id IN (SELECT product_id FROM dtb_products_class WHERE product_code ILIKE ? AND del_flg = 0) ) ‘;
$searchCondition[‘arrval’][] = “%$val%”;
$searchCondition[‘arrval’][] = “%$val%”;
$searchCondition[‘arrval’][] = “%$val%”;}
}管理画面の「商品管理>商品マスター」で商品コードでの検索機能があったので下記のファイルのsearch_product_codeの処理部分を参考に変更しました。
(参考ファイル)data/class/pages/admin/products/LC_Page_Admin_Products.php
ECCUBE