FROM LOAD - jp_header
このコミュニティはピアツーピアサポートに移行しました。Shopify サポートは今後、このコミュニティへのサービスを提供いたしません。これからもぜひ、他のマーチャントやパートナーとつながり、サポートし合い、経験を共有してください。 当社の行動規範に違反する行動や削除を希望するコンテンツがありましたら、引き続きご報告ください

Re: 基本にある条件に、除外する条件を追加する場合の記述について

解決済

基本にある条件に、除外する条件を追加する場合の記述について

Kyoo
観光客
17 0 2

ご閲覧頂きありがとうございます。

 

現在、在庫数に合わせた文言の表示が3パターンあるのですが、

特定のタグが付いた商品については、在庫数に合わせた文言を非表示にしたいと考えております。

 

どのような記述をすれば、ご存じの方いらっしゃいましたら、ご教授のほど宜しくお願い致します。

 

1 件の受理された解決策
Takase_R
Shopify Partner
30 11 11

成功

追記いただいた内容を踏まえると、下記のようなコードに書き換えることで実現できるかと思われます。

(labelは任意のタグに変更してください)

{% assign inventory_hidden = false %}

{% for tag in product.tags %}
  {% if tag contains 'label' %}
    {% assign inventory_hidden = true %}
  {% endif %}
{% endfor %}

{% if inventory_hidden == false %}
  {% if product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity <= 0 %}
    <div class="yv-restock">{{ 'products.product.out_of_stock' | t }}</div>
  {% elsif product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity <= 5 %}
    <div class="yv-lowstock">{{ 'products.product.low_stock_custom' | t }}</div>
  {% elsif product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity >= 6 %}
    <div class="yv-instock">{{ 'products.product.in_stock' | t }}</div>
  {% endif %}
{% endif %}

 

R.Takase
テーマのカスタマイズなどお手伝いできます。
https://liquid-guidebook.dev/

元の投稿で解決策を見る

6件の返信6

Takase_R
Shopify Partner
30 11 11

はじめまして、Takaseと申します。

 

実際のコードを見ていないので正確な回答が難しいのですが、

商品ページでの文言の非表示であれば、下記のような記述で実現可能かと思います。

{% assign inventory_hidden = false %}

{% for tag in product.tags %}
  {% if tag contains 'label' %}
    {% assign inventory_hidden = true %}
  {% endif %}
{% endfor %}

{% if inventory_hidden == false %}
  {% comment %} 在庫数に合わせた文言をここに記述 {% endcomment %}
{% endif %}

 

R.Takase
テーマのカスタマイズなどお手伝いできます。
https://liquid-guidebook.dev/
Kyoo
観光客
17 0 2

Takase 様

 

ご教授をありがとうございます。

 

足らない情報の中、本当にありがとうございます。

1. 商品グリッドに表示したいと思っております。

2. (在庫数の合わせた文言の出力)実際のコードは以下の通りです。

 

    {% if product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity <= 0 %}
        <div class="yv-restock">{{ 'products.product.out_of_stock' | t }}</div>
    {% elsif product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity <= 5 %}
        <div class="yv-lowstock">{{ 'products.product.low_stock_custom' | t }}</div>
    {% elsif product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity >= 6 %}
        <div class="yv-instock">{{ 'products.product.in_stock' | t }}</div>
    {% endif %}

 

もし可能でしたら、もう一度お願い致します。

Takase_R
Shopify Partner
30 11 11

成功

追記いただいた内容を踏まえると、下記のようなコードに書き換えることで実現できるかと思われます。

(labelは任意のタグに変更してください)

{% assign inventory_hidden = false %}

{% for tag in product.tags %}
  {% if tag contains 'label' %}
    {% assign inventory_hidden = true %}
  {% endif %}
{% endfor %}

{% if inventory_hidden == false %}
  {% if product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity <= 0 %}
    <div class="yv-restock">{{ 'products.product.out_of_stock' | t }}</div>
  {% elsif product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity <= 5 %}
    <div class="yv-lowstock">{{ 'products.product.low_stock_custom' | t }}</div>
  {% elsif product.variants.first.inventory_management == "shopify" and product.variants.first.inventory_quantity >= 6 %}
    <div class="yv-instock">{{ 'products.product.in_stock' | t }}</div>
  {% endif %}
{% endif %}

 

R.Takase
テーマのカスタマイズなどお手伝いできます。
https://liquid-guidebook.dev/
Kyoo
観光客
17 0 2

Takase 様

 

返信、誠にありがとうございます。

ご教授頂きました、コードでイメージ通りの表示になりました!

 

因みになりますが、特定のタグが複数あるので、下のように”or”を使用したのですが、

特定のタグ以外の全ての商品が非表示なりました。

{% assign inventory_hidden = false %}

{% for tag in product.tags %}
  {% if tag contains 'label-1' or 'label-2' %}
    {% assign inventory_hidden = true %}
  {% endif %}
{% endfor %}

 

下記のように"elsif"にしたら、正常に2つのタグだけ非表示なりました。

これについて、何かお判りになりますか?

{% assign inventory_hidden = false %}

{% for tag in product.tags %}
  {% if tag contains 'label-1' %}
    {% assign inventory_hidden = true %}
  {% if tag contains 'label-2' %}
    {% assign inventory_hidden = true %}
  {% endif %}
{% endfor %}

 

追加で、大変恐縮ではございますが宜しければご教授お願い致します。

Takase_R
Shopify Partner
30 11 11

無事イメージ通りの表示になったようでよかったです。

 

 

>> これについて、何かお判りになりますか?

 

{% if tag contains 'label-1' or 'label-2' %}

の書き方に問題があるように見えるので

{% if tag contains 'label-1' or tag contains 'label-2' %}

にすればもしかするとうまく表示されるかもしれません。

(試していないので確証はないのですが)

 

少し書き方は煩雑にはなりますが、elsifを使った記述方法で基本的には問題ないとは思います。

R.Takase
テーマのカスタマイズなどお手伝いできます。
https://liquid-guidebook.dev/
Kyoo
観光客
17 0 2

Takase様

 

返信、本当にありがとうございます!

 

試してみたところ、Takase様の記述で2つのタグに適応されました!

勉強になりました。

ありがとうございました。