バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 検索項目に在庫あり商品のみを検索するチェックボックスを追加したい

フロント機能

新規スレッドを追加する

フラット表示 前のトピック | 次のトピック
投稿者 スレッド
ゲスト
投稿日時: 2017/12/25 16:05
対応状況: −−−
Re: 検索項目に在庫あり商品のみを検索するチェックボックスを追加したい
自己解決できましたので報告させていただきます。
最初の投稿や2件目の投稿で誤っている事を記載してしまっていましたのでお恥ずかしい限りです。

1. src/Eccube/Form/Type/SearchProductBlockType.phpのfunction buildForm(FormBuilderInterfaceに↓を追加
        $builder->add('stock_available', 'choice', array(
            'label' => '在庫あり商品のみを検索',
            'required' => false,
            'choices' => array(
                '1' => '在庫あり商品のみを検索',
            ),
            'expanded' => true,
            'multiple' => true,
            'empty_value' => false,
        ));


2. src/Eccube/Form/Type/SearchProductType.phpのfunction buildForm(FormBuilderInterfaceに↓を追加
        $builder->add('stock_available', 'choice', array(
            'label' => '在庫あり商品のみを検索',
            'required' => false,
            'choices' => array(
                '1' => '在庫あり商品のみを検索',
            ),
//            'expanded' => true,
            'multiple' => true,
            'empty_value' => false,
        ));

1.との違いは'expanded' => true,をコメントアウトしている点です。こちらをコメントアウトしないと、検索後に並び替えや表示件数の変更を行うと検索条件が維持されず、在庫のない商品も表示されてしまいます。

3. src/Eccube/Resource/template/default/Block/search_product.twig
のbuttonの前に↓を追加
{{ form_widget(form.stock_available) }}


これでフォームが表示されるようになりました。

4. src/Eccube/Repository/ProductRepository.php の、public function getQueryBuilderBySearchData($searchData)
の中に↓を追加
        // 在庫ありのみ検索
        if (!empty($searchData['stock_available']) && count($searchData['stock_available']) > 0) {
            $qb
                ->andWhere('pc.stock_unlimited = :stock_available OR pc.stock > 0')
                ->setParameter('stock_available', $searchData['stock_available']);
        }

です。

できてみるとなんでこんなことに何日も頭を悩ませたんだろうかと思います。umebius様、コメントありがとうございました。おかげ様でEC-CUBEの理解が更に深まりました。今後ともよろしくお願いいたします。
フラット表示 前のトピック | 次のトピック


題名 投稿者 日時
   検索項目に在庫あり商品のみを検索するチェックボックスを追加したい ゲスト 2017/12/18 18:57
     Re: 検索項目に在庫あり商品のみを検索するチェックボックスを追加したい umebius 2017/12/19 19:59
       Re: 検索項目に在庫あり商品のみを検索するチェックボックスを追加したい ゲスト 2017/12/23 12:19
   » Re: 検索項目に在庫あり商品のみを検索するチェックボックスを追加したい ゲスト 2017/12/25 16:05

 



ログイン


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

統計情報

総メンバー数は88,873名です
総投稿数は110,000件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1295
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.