不是开发人员,只是试图一起破解某些东西。在我们的Shopify网站中,有一些逻辑可以使用order.id标记特定博客中的新博客文章。因此,此博客的帖子每个帖子都带有一个order.id。
在客户记录(帐户)上,我创建了一个网格,该网格用于显示article.tags与customer.orders匹配的所有文章。
我为所有客户的订单ID制作了一个数组,并试图将此数组与article.tags数组进行比较,并仅显示两个数组中有匹配项的商品。
请帮助!
这是在customers / account.liquid上:
<div class="table-wrap">
<table class="full table--responsive">
<thead>
<tr>
<th>POST NAME</th>
</tr>
</thead>
<tbody>
{% assign myorders = '' %}
{% for order in customer.orders %}
{% capture myorders %}
{{ myorders }} {{ order.id }}
{% endcapture %}
{% endfor %}
{% for article in blogs.my-posts.articles %}
{% if article.tags contains myorders %}
<!--SHOW THE MATCHING ARTICLES HERE-->
<tr>
<td class="underline"><strong><a href="{{ article.url }}">{{ article.title | capitalize }}</a></strong></td>
<tr>
{% else %}
You have no posts.
{% endif %}
{% endfor %}
</tbody>
</table>
</div>
答案 0 :(得分:0)
一件事。使用捕获将连续覆盖您的上一个捕获,因此将其置于for循环中是有问题的。您只会得到客户订单中的最后一个订单。
因此,一开始,您可能需要构建一个字符串,该字符串将不断增长以包含订单ID。一旦有了该字符串,就可以使用它。然后,您将浏览文章。请注意,标记最好在数组中处理。因此,您将用逗号分割了该标签字符串,对于要循环遍历的数组中的每个结果标签,您都想查看该标签是否在先前构建的订单ID字符串中。
这一切都不是一件容易的事,但是如何建立成功并不明显。我的建议是在一小段代码中确定每种需求,然后将代码转储到Shopify呈现页面的源代码中。使用视图源查找结果,并检查结果是否正确。如果您只是像当前食谱那样搅动整个食谱,并且它在任何时候都无法像它所做的那样产生,您就不知道错误在哪里。通常只需在课程中使用注释,然后按ctrl + f即可找到线索,这很容易,例如单词“ testeefizzle”:
<!-- testeefizzle {{ dump crap here to see it }} -->
一旦您在一个小的基础上获得了荣耀,就会获得更多的代码。