バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 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
居住地:
投稿: 1240
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/
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

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


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,305名です
総投稿数は109,692件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1568
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

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

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