2016-12-01 33 views
0

如果metafields對於產品是空的,我正在尋找隱藏內容,但是現在它將所有頁面都返回,這意味着我的if語句在某處出現故障。Shopify檢查是否存在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> 

任何幫助將是輝煌的

編輯

新增審覈metafields佈局

enter image description here

回答

3

要檢查名稱空間是否存在,可以對blank進行比較。例如:

{% 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

感實性液體中不喜歡的JavaScript。我已經咬傷了幾次:

您的測試應該是:

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

reviewproduct.metafields.review是審查metafields的命名空間。請參閱https://help.shopify.com/themes/liquid/objects/metafield

+0

這似乎在當前產品存在metafields要甚至刪除代碼? – user3082823

+0

你使用正確的命名空間嗎?查看我編輯的答案 – bknights

+1

將新元域命名空間表添加到問題中。他們都在審查中,檢查了現有的metafield產品,但他們仍然沒有出現:( – user3082823