2016-09-20 82 views
1

我想只拉回可用的結果,但它返回的JSON響應null,null,null,結果,例如結果。下面是代碼:Shopify的JSON數組返回結果,但一些空的結果

{% capture results %} 
    {% for item in search.results %} 
    {% assign product = item %} 
    {% if product.available == true %} 
     { 
     "title" : {{ product.title | json }}, 
     "url"  : {{ product.url | within: product.collections.last | json }}, 
     "thumbnail": {{ product.featured_image.src | product_img_url: 'thumb' | json }}, 
     "available": {{ product.available | json }} 
     } 
    {% endif %} 
    {% unless forloop.last %},{% endunless %} 
    {% endfor %} 
{% endcapture %} 

誰知道我需要做的有來無回空的結果,但僅提供真實的人,並排除可用(假)

它返回9個結果,7如果你知道我的意思,那麼它不可用並且顯示2,但是需要它返回9。

+0

它從這裏開始的:https://help.shopify.com/themes/customization/store/enable-autocomplete-for-search-boxes但只是需要帶回可用的產品 – James

+0

我不知道液體標記... search.results來自哪裏?它是一個數據庫查詢嗎?也許你不應該在原始查詢結果中返回它們。 – ADyson

+0

由json從另一個文件返回......沒有數據庫查詢作爲您看到的sass產品。如果您查看該URL,它將顯示它從json文件中退出的方式,該文件返回10個猜測是產品的項目。我在做一些挖掘。 – James

回答

0

有兩件事情,你可以在這裏做:

  1. 可以Shopify之外創建一個搜索應用程序。這個應用程序將獲取所有產品,檢查每個產品的可用性條件,並返回10,20,30等產品陣列的搜索結果,如果您打算分頁,您可以在本地存儲會話。

  2. 對於上可用您的商店的每個產品,添加一個標籤istock(庫存),併爲那些不可有標籤ostock。在搜索時,只需將+ istock添加到搜索查詢。它將始終僅返回符合搜索條件的產品以及標籤「istock」。