[EC-CUBE] 3.0.15
[PHP] 7.1.2
[データベース] PostgreSQL 9.6.6
はじめまして。初めてEC-CUBE3開発の世界に足を踏み入れたばかりの初心者です。umebius様の投稿を参考に商品項目を追加し、その項目で検索できるようにまではカスタマイズできました。ありがとうございます。
現在、フロント画面の検索項目にチェックボックスを加え、チェックを入れて検索した場合は検索結果に在庫あり商品のみを表示させたくトライしていますが、うまく行きません。どなたかご教示いただけませんでしょうか。
やったこととしては、
1. src/Eccube/Form/Type/SearchProductBlockType.php
とsrc/Eccube/Form/Type/SearchProductType.php
のfunction buildForm(FormBuilderInterfaceに↓を追加
$builder->add('stock_available', 'checkbox', array(
'label' => '在庫あり商品のみを検索',
'multiple'=> true,
'required' => false,
));
2. src/Eccube/Resource/template/default/Block/search_product.twig
のbuttonの前に
{{ form_widget(form.stock_available) }}
を追加
までで、
3. src/Eccube/Repository/ProductRepository.php
の、getQueryBuilderBySearchData($searchData)の部分だと思いますが、最も大事な検索ロジックをどのように書くべきかわからず、つまずいています。
該当商品の規格別の在庫を調べて、1つでも在庫がある場合は在庫あり商品として表示させたいのですが、2日くらいトライしていますが、解決できず・・・どなたかヘルプいただけませんでしょうか。