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

如何在Statamic的Antlers视图中按分类筛选并分组展示FAQ文章?

如何实现按分类分组展示文章链接的FAQ页面?

我需要制作一个FAQ页面,按分类分组展示文章链接,但目前编写的代码仅能显示分类标题,无法列出对应文章。

当前代码如下:

{{ taxonomy:faq_topics sort="title" }}
    <h2 class="mt-12 text-4xl font-bold hover:text-teal">
        <a href="{{ url }}">
            {{ title | title }}
        </a>
    </h2>

    {{ collection:faq as="faq" taxonomy:faq_topics="{{slug}}" paginate="10"}}
        {{ faq }}
            <div class="mb-2">
                <a href="{{ url }}" class="text-lg hover:text-teal tracking-tight leading-tight font-bold">
                    {{ title | widont }}
                </a>
            </div>
        {{ /faq }}
    {{ /collection:faq }}

{{ /taxonomy:faq_topics }}

问题排查与修复方案

  1. 确认分类关联配置

    • 检查faq集合的配置文件(通常在content/collections/faq.yaml),确保已关联faq_topics分类:
      taxonomies:
        - faq_topics
      
    • 验证每个FAQ文章在后台编辑时,都已选择对应的faq_topics分类项。
  2. 修正集合查询的变量作用域
    在taxonomy:faq_topics循环内,{{ slug }}指向当前分类的slug,但模板引擎可能存在作用域适配问题,可做以下调整:

    • 去掉as="faq",使用默认的entries变量遍历文章(适配Statamic的默认集合查询语法)
    • 添加no_results判断,方便调试空数据场景
  3. 暂时移除分页调试
    分页配置可能干扰初始数据查询,先移除paginate="10",确认文章能正常显示后再重新添加分页逻辑。

修正后的代码示例

{{ taxonomy:faq_topics sort="title" }}
    <h2 class="mt-12 text-4xl font-bold hover:text-teal">
        <a href="{{ url }}">
            {{ title | title }}
        </a>
    </h2>

    {{ collection:faq taxonomy:faq_topics="{{ slug }}" }}
        {{ if no_results }}
            <p>暂无相关FAQ文章</p>
        {{ else }}
            {{ entries }}
                <div class="mb-2">
                    <a href="{{ url }}" class="text-lg hover:text-teal tracking-tight leading-tight font-bold">
                        {{ title | widont }}
                    </a>
                </div>
            {{ /entries }}
        {{ /if }}
    {{ /collection:faq }}
{{ /taxonomy:faq_topics }}

如果需要重新添加分页,可恢复paginate="10",并补充分页导航代码:

{{ pagination }}
    {{ if prev_page }}
        <a href="{{ prev_page }}">上一页</a>
    {{ /if }}
    {{ current_page }} / {{ total_pages }}
    {{ if next_page }}
        <a href="{{ next_page }}">下一页</a>
    {{ /if }}
{{ /pagination }}

内容的提问来源于stack exchange,提问作者Tim Vande Walle

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 10:54:57