バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 売切れ商品を非表示、もしくは「売切れ」と表示

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
katsuo77
投稿日時: 2017/11/24 15:45
対応状況: −−−
半人前
登録日: 2017/10/14
居住地:
投稿: 12
売切れ商品を非表示、もしくは「売切れ」と表示
▼テンプレート
[EC-CUBE] 3.0.15 新規インストール
[レンタルサーバ] さくら vps
[OS] CentOS 6.9
[PHP] 7.0.21
[データベース] MySQL 5.6.36

お世話になっております。
タイトルの通り商品一覧ページで在庫が0の場合(複数規格がある場合は、すべての規格で在庫0の場合)にその商品を非表示にする、もしくは「売切れ」と表示するようにしたいです。

こちらのフォーラム含め検索しましたが解決策が見つからず、質問させていただきました。
実装のヒントなど教えていただけますとありがたいです。

一応、
/src/Eccube/Resource/template/default/Product/list.twig
あたりのファイルでif文を使って実現するのかな、くらいの検討はついているのですが、、

また2.x系では<!--{$arrProducts[cnt].stock_max}-->で在庫数の最大値を呼び出せるようなので、3.x系でも同じようなタグがあれば実装に近づくのかと考えています。

よろしくお願いいたします。
katsuo77
投稿日時: 2017/11/28 18:32
対応状況: −−−
半人前
登録日: 2017/10/14
居住地:
投稿: 12
Re: 売切れ商品を非表示、もしくは「売切れ」と表示
質問者です。

質問を投稿してから自分で少し調べたりしてまたお聞きしたい内容が変わったので共有させていただきます。

商品一覧ページ内で在庫のない商品を表示しないようにするために、
/src/Eccube/Resource/template/default/Product/list.twigの<!-- ▼item_list▼ -->内で、
{% for Product in pagination %}
を使って在庫のある商品のみを表示することで、なんとなく希望の動作を実現することはできました。

しかしこの場合、検索結果の件数表示(「○件の商品が見つかりました。」)が在庫なし商品も含めた数になってしまったり、1ページに表示される商品数がまちまちになってしまったり(つまり、1ページ15件表示だとしてそのうち5件が在庫なしの場合、画面上には10件しか表示されない)といった新たな問題が発生してしまいました。

これらを解決するにはそもそもの検索ロジックを修正すれば良いのかと思い、
/src/Eccube/Repository/ProductRepository.php内のgetQueryBuilderBySearchData()
をいじろうとはしているのですが、検索条件に「在庫のある商品のみ検索」といった条件追加は可能なのでしょうか?

少し文章がわかりづらいかもしれませんが、お力をお貸しいただけると幸いです。
よろしくお願いいたしますm(_ _)m
katsuo77
投稿日時: 2017/11/28 19:25
対応状況: 解決済
半人前
登録日: 2017/10/14
居住地:
投稿: 12
Re: 売切れ商品を非表示、もしくは「売切れ」と表示
続けて失礼します。質問者です。
こちらの問題解決いたしました。

/src/Eccube/Repository/ProductRepository.phpのgetQueryBuilderBySearchData()内で、

$qb->innerJoin('p.ProductClasses', 'pc');
$qb->andWhere('pc.stock >= 1');

と追記することで希望の挙動を実現できました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.