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

如何在Eleventy中使用多个JSON数据源?

解决Eleventy多JSON数据源分页问题

要实现调用多个JSON文件做分页,不能直接在pagination.data里指定多个集合,得先把多个JSON数据合并成一个统一的集合,具体步骤如下:

  1. 确认JSON文件位置
    把你的collection1.json和collection2.json放在Eleventy项目的_data目录下,Eleventy会自动将它们注册为全局数据。

  2. 在配置文件中合并集合
    在项目根目录的.eleventy.js里添加代码,将两个JSON数据合并成一个新的全局数据集合:

module.exports = function(eleventyConfig) {
  eleventyConfig.addGlobalData('combinedCollections', function() {
    // 展开两个集合并合并成一个数组
    return [...this.collection1, ...this.collection2];
  });
};
  1. 修改模板的分页配置
    在gallery.njk的前置元数据中,使用合并后的集合作为分页数据源:
---
pagination:
  data: combinedCollections
  size: 1
  alias: image
permalink: "/gallery/{{ image.title | slug }}/"
---

这样配置后,模板就能遍历两个JSON文件里的所有条目,自动生成对应的画廊页面。如果两个JSON的字段结构不一致,要确保每个条目都包含title字段,否则slug过滤器会报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 12:18:21