Zencartの検索機能
パイナップルアーミーで寝不足気味なYu-ichiです
zencartの検索機能で、おかしなことに気がつきました。
半角スペースで区切るとAND検索になりますが、全角スペースで区切ったときに
検索結果が異なってしまいました。
バージョンは1.3.0なのですが・・・。
いろいろ調べてみた結果、全角スペースを区切り文字として判断していないことが原因だということが分かりました。
というわけで、早速全角スペースを区切り文字として認識するようにカスタマイズ開始です。
今回はこちらを参考に作業してみました。
http://zen-cart.jp/bbs/viewtopic.php?f=4&t=2695
上記ページに書いてある通り、
【includes/functions/functions_general.php】の244行目付近にある
【function zen_parse_search_string()】の記述内にある
$pieces = split(‘[[:space:]]+’, $search_str);
の文章を
$pieces = mb_split(‘[[:space:] ]+’, $search_str);
に書き換えて、
substr(), strlen(), ereg_replace()のそれぞれの先頭に【mb_】をつけて
mb_substr(), mb_strlen(), mb_ereg_replace()としました。
動作確認してみたところ、見事に全角スペースが区切り文字として、
AND検索ができるようになりました
気が付いてよかった
HP・ショッピングサイトの企画から制作、保守管理までトータルでサポートいたます。ビジネスブログの構築や、不動産物件管理システム、中古車車両管理システムなど各種WEBシステムの構築もお任せください。
ネットインパクトでは、格安なCMSやWordpressを利用したウェブサイトの制作から運営管理も自社で簡単にできるショッピングサイトの構築も行っています。ご相談・お見積りは無料です。お気軽にお問合わせください。
徹底したSEO対策で検索エンジンで上位表示され集客・売上に貢献するホームページ・ショッピングサイトを構築いたします。

