EC CUBEの検索フォームで全角英数字を半角英数字に変換する

2015-02-14

EC CUBEの検索フォームで通常通り検索すると全角文字と半角文字の判別をしてしまう。

管理画面でせっかく半角英数字で登録しててもユーザが全角で検索してしまったら引っかからないっていう現象が起きるって要望を受けた。

というわけでとりあえずサクっと修正箇所のメモ

data/class/pages/products/LC_Page_Products_list.phpの

if ($_GET['mode'] == 'search') {
$tpl_subtitle: "検索結果";

の手前に下記を追加

if (isset($_GET['name'])) {
    $_GET['name'] = mb_convert_kana($_GET['name'], 'a', 'UTF-8');
}

半角カナも変換して検索したい場合は下記のようにする

if (isset($_GET['name'])) {
    $_GET['name'] = mb_convert_kana($_GET['name'], 'aKV', 'UTF-8');
}

ひらがな入力で検索している人もいるのだろうか・・・。

案件にもよるけど基本的にはこの処理入れておけば検索の整合性が少しでも高まると思う。