【发布时间】:2022-11-01 17:48:42
【问题描述】:
我希望能够在 110 个模板页面(gallery.njk)中调用多个 json 文件。 我已经尝试将所有内容放入嵌套的 json 文件“collections.json”中,但它不起作用,为了便于管理,我宁愿将它分开。
我正在尝试这样的事情,但它不起作用:
---
pagination:
data: "collection1", "collection2"
size: 1
alias: image
permalink: "/gallery/{{ image.title | slug }}/"
---
也试过:
- 数据:collection1,collection2
- 数据:[集合1,集合2]
这是有效的方法,但显然它只给了我 1 个集合:
---
pagination:
data: collection1
size: 1
alias: image
permalink: "/gallery/{{ image.title | slug }}/"
---
【问题讨论】:
-
所以要明确一点,您不是在问如何在 Eleventy 中使用多个数据文件,而是如何在一个特定的分页模板中使用它们。那正确吗?
-
是的,我想那是正确的。我不想创建十几个模板,因为我有十几个集合,我想要一个模板来显示来自不同 json 文件的每个集合,如果这有意义吗?
-
但是你想要一页还是N页?听起来你想要一个,据我所知,你只能提供一个数据项。您可以使用 addGlobalData 创建一个新的数据项,该数据项结合其他那些。请记住,除非您的数据非常相似,否则您的分页模板会因为它试图处理呈现不同的事物而变得混乱。
-
如果您确定要合并 2 个或更多集合,理论上您可以将 collections.all 用于您的数据,并使用 before 过滤到两个(或更多)特定部分。或者,在您的 .eleventy.js 中,只需根据您的需要创建一个新的自定义集合。
-
嗨@RaymondCamden,感谢您花时间尝试解决这个问题。如果你能看一下我的 git repo,那就太好了,这将更容易显示/解释问题。任何机会我都可以通过电子邮件将其发送给您..不确定将链接发送到回购的规则是什么,也不确定我是否想将其发布在这里。
标签: eleventy