You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将Section的4个Schema设置转为数组以循环生成HTML代码块

解决Shopify Section设置对象数组化循环的问题

你的核心问题是错误地将对象转成字符串再拆分,导致循环时拿到的是字符串而非原始的文章对象,自然没法访问.id、.title这类属性。

直接跳过字符串拼接的步骤,把Section的设置对象直接存入数组即可:

{% assign recent_articles_array = [section.settings.article_one, section.settings.article_two, section.settings.article_three, section.settings.article_alt] %}

{% for recent_article in recent_articles_array %}
  {% comment %} 先判断对象是否存在,避免空设置生成无效HTML {% endcomment %}
  {% if recent_article %}
    <div class="article-card">
      <h4>{{ recent_article.title }}</h4>
      <p>{{ recent_article.excerpt | truncate: 100 }}</p>
      <a href="{{ recent_article.url }}" class="btn">查看全文</a>
      <!-- 这里可以直接用 recent_article.id 等属性 -->
    </div>
  {% endif %}
{% endfor %}

为什么你的原写法不行?

你之前的代码会把section.settings.xxx渲染成对象的字符串形式(比如文章ID或标题文本),拼接后拆分得到的只是一串字符串,不是原本的文章对象。比如如果article_one是标题为"Hello World"的文章,你的字符串会变成"Hello World,xxx,...",split后循环拿到的是"Hello World",自然没有.id属性。

直接将对象存入数组,循环时每个元素都是完整的文章对象,就能正常访问所有属性了。

内容的提问来源于stack exchange,提问作者therealbrovakMQT

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 07:10:28