バージョン選択

フォーラム

メニュー

オンライン状況

30 人のユーザが現在オンラインです。 (10 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 30
もっと...

サイト内検索

質問 > フロント機能 > EC-CUBE4 キーワード検索で商品コードを完全検索する方法

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
yass
投稿日時: 2023/2/21 9:22
対応状況: −−−
新米
登録日: 2023/2/21
居住地:
投稿: 1
EC-CUBE4 キーワード検索で商品コードを完全検索する方法
[EC-CUBE] 4.0.6-p1

フロントのキーワード検索において、
商品コードは部分一致になっていますが、
これを、規格に登録された商品コードで完全一致にする方法を教えてください。

/src/Eccube/Repository/ProductRepository.php 159行目付近

->andWhere(sprintf('NORMALIZE(p.name) LIKE NORMALIZE(:%s) OR
                        NORMALIZE(p.search_word) LIKE NORMALIZE(:%s) OR
                        EXISTS (SELECT wpc%d FROM \Eccube\Entity\ProductClass wpc%d WHERE p = wpc%d.Product AND NORMALIZE(wpc%d.code) LIKE NORMALIZE(:%s))',
                        $key, $key, $index, $index, $index, $index, $key))
                    ->setParameter($key, '%'.$keyword.'%');


を修正すればおそらく実装できると思うのですが、

NORMALIZE(wpc%d.code) LIKE NORMALIZE(:%s)
NORMALIZE(wpc%d.code) = NORMALIZE(:%s)
に変更したら、コードでの検索ができなくなりました。

SQLの書き方に詳しくないため、教えていただければ幸いです。
mcontact
投稿日時: 2023/2/21 10:33
対応状況: −−−
仙人
登録日: 2022/1/22
居住地:
投稿: 485
Re: EC-CUBE4 キーワード検索で商品コードを完全検索する方法
->andWhere(sprintf('NORMALIZE(p.name) LIKE NORMALIZE(:%s) OR
                        NORMALIZE(p.search_word) LIKE NORMALIZE(:%s) OR
                        EXISTS (SELECT wpc%d FROM \Eccube\Entity\ProductClass wpc%d WHERE p = wpc%d.Product AND NORMALIZE(wpc%d.code) LIKE NORMALIZE(:%s))',
                        $key, $key, $index, $index, $index, $index, $key))
                    ->setParameter($key, '%'.$keyword.'%');



> NORMALIZE(wpc%d.code) LIKE NORMALIZE(:%s)
> NORMALIZE(wpc%d.code) = NORMALIZE(:%s)

のみ修正した場合は、キーワード検索の入力部分は部分一致検索の
->setParameter($key, '%'.$keyword.'%')
に記載の部分一致にするパラメータに%{キーワード検索部分」%が付くので、そのままですと「%{キーワード検索部分」%」のキーワードとして検索されます。
https://write-remember.com/archives/4896/


----------------
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
EC-CUBEインテグレートパートナー
M&I Works
URL: https://miworks.biz/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は79,084名です
総投稿数は106,427件です

投稿数ランキング

1
seasoft
7334
2
468
3217
3
AMUAMU
2712
4
nanasess
2280
5
umebius
2085
6
yuh
1763
7
red
1558
8
h_tanaka
1308
9
tsuji
957
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20
mcontact
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.