我正在尝试将产品和博客文章混在一起。我的逻辑如下:
我在合并两个数组时遇到麻烦。我收到错误消息“参数不是数组元素”。
{% capture product_list %}
{% for product in collection.products%}
{{product.title}}|{{product.url}}|{{product.description}}|
{{product.featured_image.src | product_img_url: 'medium' }}
{% if forloop.last == false %}::{% endif%}
{% endfor %}
{% endcapture %}
{% capture blog_list %}
{% for blog in blog.articles%}
{{blog.title}}|{{blog.url}}
{% if forloop.last == false %}::{% endif%}
{% endfor %}
{% endcapture %}
{% assign plants = product.list | concat: blog.list %}
{{ plants | join: ", " }}
答案 0 :(得分:0)
这取决于您在Shopify前端请求意义上的位置。如果您在产品页面上,即:/ products,Shopify确保您拥有有效的产品。就您而言,您的代码仅在迭代产品的集合时才有效,因此我们假设您在集合页面上。如果您在博客页面上,则会得到一个博客对象,但没有产品或馆藏。
因此,您的麻烦就源于此。看一下Shopify中的 Global Objects ,您会看到可以使用all_products,任何博客和任何文章及其句柄访问任何20种产品。调整您的代码。