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

如何在Twig的index.twig中引入静态JSON并传递给include子模板

问题解决方法

你目前的代码存在两个核心问题:一是引入的JSON内容是纯字符串格式,Twig无法直接解析遍历;二是遍历路径不匹配JSON的实际结构,按以下步骤修改即可:

1. 修改入口Twig文件的JSON处理逻辑

引入JSON后需要通过json_decode过滤器将字符串解析为Twig可操作的结构化数据:

{% set raw_json %}
    {% include "content.json" %}
{% endset %}
{# 解析JSON,传入true参数会返回数组,默认返回对象,按需选择即可 #}
{% set json = raw_json|json_decode %}

{% include '@partials/blocks/site-header.twig' with {json:json} %}

2. 调整子模板的遍历逻辑

你的JSON外层包含headerNav字段,遍历需要指定到对应层级:

{% for headerNav in json.headerNav %}
<a class="button button--nav" href="#">
    {{ headerNav.text }}
</a>
{% endfor %}

如果后续切换其他JSON文件,只需调整子模板中遍历的字段名,即可适配不同的导航数据结构。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:06:03