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

如何基于页面元数据筛选Jekyll集合项并展示指定分类标题

解决方案:在Jekyll页面中展示指定集合项的标题

嘿,这事儿不难搞定,我给你一步步拆解:

首先,确保你的Jekyll配置里已经正确启用了product-categories集合,在_config.yml里加上这段:

collections:
  product-categories:
    output: false  # 如果你不需要为每个分类生成单独页面,就保持false;需要的话改成true

接下来,你的page.html前置元数据格式是对的,比如这样:

---
layout: page
title: 我的分类页面
product-categories:
  - filename1
  - filename2
---

然后在page.html的正文部分,用Liquid语法遍历指定的文件名数组,匹配对应的集合项并输出标题:

{% if page.product-categories %}
  <h2>选中的产品分类</h2>
  <ul>
    {% for category_filename in page.product-categories %}
      {% assign category = site.product-categories | where: "name", category_filename | first %}
      {% if category %}
        <li>{{ category.title }}</li>
      {% else %}
        <li>*找不到分类:{{ category_filename }}*</li>
      {% endif %}
    {% endfor %}
  </ul>
{% endif %}

代码解释:

  • site.product-categories 调用整个product-categories集合的所有文档
  • where: "name", category_filename 匹配集合文档的name属性(这个属性就是文件名去掉.md后缀的部分,正好对应你前置元数据里的文件名)
  • | first 取匹配到的第一个结果(因为每个文件名是唯一的,所以只会有一个匹配项)
  • 加了{% if category %}的判断,防止某个文件名对应的集合文件不存在时页面出错,还会显示提示信息

这样就能完美展示你指定的那些分类项的标题啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 07:00:54