Liquid、JavaScriptなどに関する質問
ご閲覧頂きありがとうございます。
現在、在庫数に合わせた文言の表示が3パターンあるのですが、
特定のタグが付いた商品については、在庫数に合わせた文言を非表示にしたいと考えております。
どのような記述をすれば、ご存じの方いらっしゃいましたら、ご教授のほど宜しくお願い致します。
解決済! ベストソリューションを見る。
成功
追記いただいた内容を踏まえると、下記のようなコードに書き換えることで実現できるかと思われます。
(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 %}
はじめまして、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 %}
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 %}
もし可能でしたら、もう一度お願い致します。
成功
追記いただいた内容を踏まえると、下記のようなコードに書き換えることで実現できるかと思われます。
(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 %}
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 %}
追加で、大変恐縮ではございますが宜しければご教授お願い致します。
無事イメージ通りの表示になったようでよかったです。
>> これについて、何かお判りになりますか?
{% if tag contains 'label-1' or 'label-2' %}
の書き方に問題があるように見えるので
{% if tag contains 'label-1' or tag contains 'label-2' %}
にすればもしかするとうまく表示されるかもしれません。
(試していないので確証はないのですが)
少し書き方は煩雑にはなりますが、elsifを使った記述方法で基本的には問題ないとは思います。
Takase様
返信、本当にありがとうございます!
試してみたところ、Takase様の記述で2つのタグに適応されました!
勉強になりました。
ありがとうございました。
2023年初頭、Shopifyペイメントアカウント、及びShopifyアカウント全体のセキュリティを強化する為の変更が適用されました。ユーザーのアカウントセキュリティを強化す...
By Mirai Sep 29, 2024概要: 年末/年明けは、消費者が最もショッピングを行う時期の一つです。特に、ブラックフライデー・サイバーマンデー(BFCM)は、世界中で注目される大規模なセールイベントであ...
By JapanGuru Sep 25, 2024APIに関するShopifyサポートShopifyのデフォルト機能では特定の目標を達成するために外部アプリケーションの使用を検討していますか? そんな時はプログラミングの専...
By JapanGuru Sep 22, 2024