2016-12-01 15 views
0

メタフィールドが空であればコンテンツを非表示にしたいと考えていますが、今ではif文がどこかで壊れていることを意味するすべてのページで返されます。Metafieldが存在するかどうかチェックしますか?

製品ページ

{% if product.metafields.review %} 
    {% include 'extra-review' %} 
{% else %} 
{% endif %} 

レビュースニペットページ(エクストラreview.liquid)

{% assign review = product.metafields.review %} 
{% assign key = 'author' %} 
{% assign key = 'author-img' %} 
{% assign key = 'long' %} 

<p> Hello world </p> 

すべてのヘルプは

EDIT

華麗なります追加されましたレビューmetafieldsレイアウト

enter image description here

答えて

3

名前空間が存在するかどうかを確認するには、blankとの比較ができます。たとえば:あなたは3つのキーを持っていたことを確認したい場合

{% if product.metafields.review != blank %} 
    ... 
{% endif %} 

またsizeを使用できます。ここでは単に出力サイズ:truthy/falsy上

{{ product.metafields.review.size }} 

詳細情報はShopifyのドキュメントで見つけることができます: https://help.shopify.com/themes/liquid/basics/true-and-false

+0

絶対的な魅力のように働いた - ありがとう@ Jason – user3082823

2

液体中Truthinessは、JavaScriptのようではありません。私はこの数回にかましてきた:

あなたのテストは次のようになります。product.metafields.review

{% if product.metafields.review == true %} 
... 
{% endif %} 

reviewはレビューmetafieldsの名前空間です。 https://help.shopify.com/themes/liquid/objects/metafield

+0

これはmetafieldsは、現在の製品のために存在する場合でも、コードを削除しているようですか? – user3082823

+0

正しい名前空間を使用していますか?私の編集した答えを参照してください – bknights

+1

私のmetafields名前空間テーブルを質問に追加しました。彼らはすべてレビュー中で、既存のメタフィールドを持つ製品をチェックしましたが、まだ表示されません:( – user3082823

関連する問題