0

我的数据正在创建许多分页帖子。我的前面的事情如下:

---
pagination:
    data: cms
    size: 1
    alias: article
    addAllPagesToCollections: true
layout: "_base.njk"
tags: articles
permalink: "/articles/{{ article.title | slug }}/"
eleventyComputed:
    title: "{{ article.title }}" 
    eleventyNavigation:
        key: "{{ article.title}}"
        parent: "{{articles}}" //<-- how do I set the parent?
---

我希望我的导航 HTML 结构能够阅读

<ul>
  <li>articles</li>
    <ul>
     <li>post-1</li>
     <li>post-2</li>
    </ul>
</ul>

提前致谢。

4

1 回答 1

0

您可以使用创建层次结构。

但是还有另一种方法:展平该层次结构并为每个节点分配一个描述嵌套级别的变量。

然后可以使用类似的代码(如下所示)来呈现该层次结构:

{% set level = 0 %}

{% for category in collections.categoryCollection %}

    {% set ulCount = (category.level - level) | abs %}

    {% for i in range(0, ulCount) %}
        {% if category.level > level %}
            <ul>
        {% else  %}
            </ul>
        {% endif %} 
    {% endfor %}

    <li>
        <a href="{{ category.categoryUri | url | normalize | firstPage(globals.categories.category.postPageSize) }}">
            {{ category.categoryName }} ( {{category.items.length}} / {{ category.allItems.length }} )
        </a>
    </li>

    {% set level = category.level %}

{% endfor %}

{% for i in range(0, level) %}
    </ul>
{% endfor %}

希望这会有所帮助,我知道它有效,用它们来得到这样的东西: 在此处输入图像描述

于 2021-03-13T18:51:01.153 回答