バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 在庫がなくなったら「在庫なし」と表示したい

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
konohaito
投稿日時: 2022/5/6 12:10
対応状況: −−−
一人前
登録日: 2019/9/5
居住地:
投稿: 85
Re: 在庫がなくなったら「在庫なし」と表示したい
コメントアドバイスありがとうございます。

最終的に「在庫なし」のときだけ「在庫なし」と表示するという最初のパターンでいく場合、参考サイトを見て
下記のように記述しました。

<div id="result_list__stock--{{ Product.id }}" class="item_detail td">
{% set displayed = false %}
{% for ProductClass in Product.ProductClasses %}
{% if not displayed and ProductClass.StockFind == false %}
<span class="text-danger">在庫なし</span>
{% set displayed = true %}
{% endif %}
{% endfor %}

理想形は、在庫なしの商品(規格設定ありのものも含む)があった場合、
「規格の分類名:在庫なし」と表示できればと思うのですが、分類名はどのように出力すればよいでしょうか?
分類についての情報が探しきれずにいます。
ご教授いただけると幸いです。
yt1969
投稿日時: 2022/5/2 22:19
対応状況: −−−
一人前
登録日: 2018/3/3
居住地:
投稿: 73
Re: 在庫がなくなったら「在庫なし」と表示したい
Productに紐づくProductClass群(= Product.ProductClasses)
そのうちのProductClass1つ1つについて(for ProductClass in Product.ProductClasses)
という繰り返しの中なので、
親のProductのStockMaxではなく個々のProductClassのstockを見るべきかと。

例えば1つのProductにProductClassが3つありstockはそれぞれ0,1,2とすると、
Product単位で見たStockMaxはProductClass中のstock最大値なので2。
なので上記コードではProductClass1つ1つについてProduct単位のStockMax値2で判定しまうために「在庫:あり」「在庫:あり」「在庫:あり」となっているのだと思います。

ちなみに、ProductやProductClassのプロパティ値はここをご参考に。
src/Eccube/Entity/Product.php
src/Eccube/Entity/ProductClass.php
konohaito
投稿日時: 2022/5/2 10:46
対応状況: −−−
一人前
登録日: 2019/9/5
居住地:
投稿: 85
Re: 在庫がなくなったら「在庫なし」と表示したい
コメントありがとうございます。
リンク先を参照し、下記のコードを設定し、無事に「無制限」となっているものも「在庫:あり」と表示することができました。
が、「規格」を設定してある商品については、規格が設定された数だけ「在庫:あり」が何行も表示されてしまいます。
こちらを
規格名ごとに、在庫:あり・なしなど表示するにはどうしたらよいでしょうか?

******************************************
規格ごとに設定


「Product.StockMaxはその商品の規格のなかで最大の在庫数なので
規格ごとに在庫を表示したいのであれば、テンプレート上でProduct.ProductClassesをfor文でループさせるなどの工夫が必要になってきます。」

******************************************
とのことなのですが、コードがわからず困っております。
下記のコードに、どのように書き加えたらよいでしょうか?
ご教授いただきたく、よろしくお願いします。


【現在のコード】******************************************

{% for ProductClass in Product.ProductClasses %}
{% if Product.StockUnlimitedMax %}
{#在庫無制限の場合 #}
<div class="ec-font-size-3 detail_stock">在庫:<span class="ec-color-red">あり</span></div>
{% elseif Product.StockMax == 0 %}
{#在庫0の場合 #}
<div class="ec-font-size-3 detail_stock">在庫: <span class="ec-color-red">在庫切れ</span></div>
<p class="detail_note">※在庫・納期をお問い合わせください</p>
{% else %}
{#在庫あり の場合 #}
<div class="ec-font-size-3 detail_stock">在庫: <span class="ec-color-red">あり</span>
</div>
{% endif %}
{% endfor %}

******************************************
yt1969
投稿日時: 2022/4/26 21:48
対応状況: −−−
一人前
登録日: 2018/3/3
居住地:
投稿: 73
Re: 在庫がなくなったら「在庫なし」と表示したい
Product.StockUnlimitedMax で判定できそうですね。

在庫無制限の場合に文章を表示したい

とか
konohaito
投稿日時: 2022/4/26 17:28
対応状況: −−−
一人前
登録日: 2019/9/5
居住地:
投稿: 85
Re: 在庫がなくなったら「在庫なし」と表示したい
メッセージありがとうございます。

無制限の場合は、メッセージをださないようにするためにはどのように記述したらよいでしょうか?
yt1969
投稿日時: 2022/4/26 14:36
対応状況: −−−
一人前
登録日: 2018/3/3
居住地:
投稿: 73
Re: 在庫がなくなったら「在庫なし」と表示したい
list.twig#176

ここのように stock_find で判定したら、在庫0以上か無制限かで真になったと思います。
konohaito
投稿日時: 2022/4/26 10:39
対応状況: −−−
一人前
登録日: 2019/9/5
居住地:
投稿: 85
在庫がなくなったら「在庫なし」と表示したい
[EC-CUBE] EC-CUBEのバージョン4、新規インストール
[レンタルサーバ] エックスサーバー
[OS] MAC
[ブラウザ] Chrome
[導入プラグインの有無] ショッピングモール 他
[カスタマイズの有無] 決済関係STRIPE
[現象]
プログラムがわからなくて恐縮なのですが、下記の記述方法をおしえていただけますでしょうか?


★シンプルに「商品の在庫が0になったときだけ、「在庫なし」と表示したい」
(無制限に設定してある商品については特に何もしない)

下記をどうアレンジしたらよいでしょうか?

{% if Product.StockMax <= 5 %}
<div class="ec-color-red ec-font-size-3">(在庫僅か)</div>
{% elseif Product.StockMax == 0 %}
<div class="ec-color-red ec-font-size-3">(在庫なし)</div>
{% else %}
<div class="ec-color-red ec-font-size-3">(在庫あり)</div>
{% endif %}



**************************(下記のように書くと「無制限」のものが「在庫なし」とでてしまいます。

{% if Product.StockMax == 0 %}
<div class="ec-color-red ec-font-size-3">(在庫なし)</div>
{% endif %}

**************************

ご教授いただきたくよろしくお願いいたします。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は75,786名です
総投稿数は104,576件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2212
5
umebius
2085
6
yuh
1664
7
red
1547
8
h_tanaka
1191
9
tsuji
942
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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