2016-09-20 120 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”。