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

Eleventy自定义集合无法填充Decap CMS关联字段求助

问题原因

Decap CMS(原Netlify CMS)无法直接调用Eleventy通过addCollection创建的动态集合。核心原因是:

  • Eleventy的自定义集合是构建阶段生成的,仅存在于Eleventy的构建上下文,不会暴露给前端运行的Decap CMS。
  • Decap CMS只能识别自身config.yml中定义的集合,或直接读取内容文件夹里的原始文件。
解决方案

方案1:直接关联CMS已定义的集合

如果你的posts内容已经在Decap CMS的config.yml中配置了对应的集合(比如名为posts的folder集合),直接在relation字段中引用这个CMS集合即可:

- { label: "Featured Visual", name: "featuredVisual", required: false, widget: "relation", collection: "posts", search_fields: ["title"], value_field: "{{slug}}", display_fields: ["title"], multiple: true }

方案2:在CMS中直接筛选内容

如果需要仅关联带posts标签的内容,无需依赖Eleventy的集合,直接在relation字段中添加filter参数实现筛选,和你Eleventy集合的逻辑完全对齐:

- { label: "Featured Visual", name: "featuredVisual", required: false, widget: "relation", collection: "posts", search_fields: ["title"], value_field: "{{slug}}", display_fields: ["title"], multiple: true, filter: { field: "tags", value: "posts" } }

方案3:自定义CMS数据源(进阶)

如果需要更复杂的集合逻辑,可通过Decap CMS的自定义后端API或load_file功能,提前生成符合要求的内容列表供CMS读取,但这需要额外的后端或构建脚本支持,适合复杂业务场景。

补充说明

你原有的Eleventy集合代码可以保留,用于前端模板渲染;CMS端只需通过上述方案,在自身配置中实现对应筛选逻辑即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 18:27:28