首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用Eleventy (11ty)拥有父集合和子集合?

是否可以使用Eleventy (11ty)拥有父集合和子集合?
EN

Stack Overflow用户
提问于 2019-11-28 00:27:56
回答 1查看 525关注 0票数 1

我希望能够使用Eleventy来创建父集合和子集合,然后我可以遍历这些集合来创建导航。

我目前在一个名为continents的集合中有一些帖子,前面的内容如下所示:

代码语言:javascript
复制
---
title: Europe
tags: continents
---

我遍历它来创建一个链接列表:

代码语言:javascript
复制
<ul class="parent-list">
  {% for post in collections.continents %}
    <li><a href="{{ post_url | post }}">{{ post.data.title}}</a></li>
  {% endfor %}
</ul>

可以有一个continents的子集吗?例如countries?如果是这样的话,这些数据需要添加到我的主题中吗?

如果能够像这样循环遍历集合,那就太好了:

代码语言:javascript
复制
<ul class="parent-list">
  {% for post in collections.continents %}
    <li><a href="{{ post_url | post }}">{{ post.data.title}}</a></li>
    <ul class="child-list">
      {% for post in collections.countries %}
        <li><a href="{{ post_url | post }}">{{ post.data.title}}</a></li>
      {% endfor %}
    </ul>
  {% endfor %}
</ul>

我知道eleventy-navigation,但它看起来你也只能有一个级别的导航。

EN

回答 1

Stack Overflow用户

发布于 2019-12-05 00:40:03

据我所知,集合只有一层深,所以你不能做collections.parent.child。您可以动态创建集合,这样您就拥有了collections.europe和collections.northamerica。然后,您可以将第二个内部循环切换为如下所示:

代码语言:javascript
复制
{% for post in collections.countries[post.data.title] %}

这有意义吗?

我要补充的是,为了让它起作用,你的子帖子应该使用前面的内容来设置它们的父帖子,比如:continent: europe

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59074595

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档