生成混合产品和博客文章部分Shopify

时间:2019-03-12 12:03:22

标签: shopify

我正在尝试将产品和博客文章混在一起。我的逻辑如下:

  • 获取所有产品的阵列
  • 获取包含所有博客文章的数组
  • 按照模式合并两个数组(3个产品-2个帖子)
  • 显示数据

我在合并两个数组时遇到麻烦。我收到错误消息“参数不是数组元素”。

{% 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: ", " }}

1 个答案:

答案 0 :(得分:0)

这取决于您在Shopify前端请求意义上的位置。如果您在产品页面上,即:/ products,Shopify确保您拥有有效的产品。就您而言,您的代码仅在迭代产品的集合时才有效,因此我们假设您在集合页面上。如果您在博客页面上,则会得到一个博客对象,但没有产品或馆藏。

因此,您的麻烦就源于此。看一下Shopify中的 Global Objects ,您会看到可以使用all_products,任何博客和任何文章及其句柄访问任何20种产品。调整您的代码。