バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

 > フロント機能 > タグによる検索

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
YOHBUN
投稿日時: 2017/1/31 16:15
対応状況: −−−
常連
登録日: 2016/12/20
居住地:
投稿: 69
タグによる検索
タグ機能による検索実現させたいのですが、
やり方を教えてください。
src/Eccube/Repository/ProductRepository.phpのgetQueryBuilderBySearchData()の記述のところがわかりません。

Formの追加まではやりました。


src/Eccube/Form/Type/SearchProductType.php
src/Eccube/Form/Type/SearchProductBlockType.php

$builder->add('hogehoge', 'choice', array(
'required' => false,
'empty_value' => '指定しない',
'empty_data' => null,
'choices' => array('1' => 'おすすめ商品', '2' => '新商品'),
));

ーーーーーーーーーーーーー

src/Eccube/Repository/ProductRepository.phpのgetQueryBuilderBySearchData()


if (isset($searchData['hogehoge']) && Str::isNotBlank($searchData['hogehoge'])) {
$qb
->andWhere('????.Tag = :hogehoge')
->setParameter('hogehoge', $searchData['hogehoge'] );
}
umebius
投稿日時: 2017/2/8 1:28
対応状況: −−−
登録日: 2016/7/22
居住地:
投稿: 2085
Re: タグによる検索
このようなイメージでいかがでしょうか。
ProductTagのjoinは必要ですね。



if (isset($searchData['hogehoge']) && Str::isNotBlank($searchData['hogehoge'])) {
$qb
                    ->innerJoin('p.ProductTag', 'pt')
                    ->andWhere('pt.Tag = :tag')
                    ->setParameter('tag', $searchData['hogehoge'])
                    ->groupBy('p.id')
}


----------------
EC-CUBEカスタマイズ・高速化・脆弱性対策・SEO ご相談ください。

2系・3系から4系へのバージョンアップ実績豊富

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


 



ログイン


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

統計情報

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

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1638
8
red
1570
9
mcontact
1286
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
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.