Liquid、JavaScriptなどに関する質問
テーマ:Dawn7.0(Dawn以外でも起こります)
商品ページに下記のコードをいれて、
sizeメタフィールドを表示(空白なら非表示)を行いたいと思ってます。
他のメタフィールドでは可能なのですが、
sizeだけは非表示にならず0が表示されてしまいます。
size1や、size2などならば、非表示になります。
{% if product.metafields.custom.size != blank -%}
Size:
{{ product.metafields.custom.size }}
{% endif %}
いろいろ探したところ、下記と同じような現象だと思います。
https://community.shopify.com/c/shopify-design/product-page-hide-a-collapsable-row-with-blank-metafi...
Shopify のバグでしょうか?
いまのところ、対処法として、size以外のメタフィールドに書き換えることしかできないのかを確認したいです。
メタフィールドを使用する際に注意する文字列などご存知の方がいらっしゃいましたら、
ご教示願います。
解決済! ベストソリューションを見る。
成功
YUKI-Jさん、はじめまして。
Tsunの小笠原と申します。
> if product.metafields.custom.size != blank
こちらの書き方ですと、product.metafields.customというオブジェクトのサイズを返すためうまく判定できていないのかなと思います。
参考: https://shopify.dev/api/liquid/filters/size#size-dot-notation
{% if product.metafields.custom.size.value != blank -%}
Size:
{{ product.metafields.custom.size.value }}
{% endif %}
のようにvalueを取得するとsizeという名称のままでもうまく判定できると思います。
参考: https://shopify.dev/api/liquid/objects/metafield#metafield-access-metafields
成功
YUKI-Jさん、はじめまして。
Tsunの小笠原と申します。
> if product.metafields.custom.size != blank
こちらの書き方ですと、product.metafields.customというオブジェクトのサイズを返すためうまく判定できていないのかなと思います。
参考: https://shopify.dev/api/liquid/filters/size#size-dot-notation
{% if product.metafields.custom.size.value != blank -%}
Size:
{{ product.metafields.custom.size.value }}
{% endif %}
のようにvalueを取得するとsizeという名称のままでもうまく判定できると思います。
参考: https://shopify.dev/api/liquid/objects/metafield#metafield-access-metafields
小笠原様
早速のご返信ありがとうございました!
お返事が遅くなり申し訳ありません。
valueをつけて、複数のテーマを確認したところ、全て思い通りに表示されました。
とても助かりました。
Shopify アカデミーの学習パスと認定スキルバッジExpanding Your Shopify Business Internationallyを活用して、国際的にビジネ...
By Shopify Feb 7, 2025Shopify アカデミーの学習パスB2B on Shopify:立ち上げとカスタマイズで卸売販売に進出しましょう。これら3つの無料コースは、ShopifyストアでB2B機能...
By Shopify Jan 31, 2025サポートの選択肢が増えていく中、最適となる選択の判断が難しくなっているかと存じます。今回は問題の解決に最適となるサポートの選択方法を、紹介させて頂きます。 選択肢のご紹介...
By Mirai Oct 6, 2024