Grav 模板 -- Twig 未列出 child 个页面
Grav template -- Twig not listing child pages
我用这样的分类法在 grav 中制作了几页。
- Home (category type)
- programming (category type)
- stuff (category type)
- stuff1 (page type)
- stuff2 (page type)
- stuff3 (page type)
我还制作了一个名为 "category" 的模板类型,希望它能抓取指向 stuff1/2/3 的所有链接,并将它们作为链接放在 "stuff" 页面上。我的代码看起来有点像这样:
{% block body %}
{% block content %}
<ul>
{% for p in self.children %}
<li><a href="{{p.url}}">{{ p.title }}</a></li>
{% endfor %}
</ul>
{% endblock %}
{% endblock %}
最终目标是为 children 获取一个简单的链接列表,指向如下类别:
<ul>
<li><a href="/stuff1">stuff1</a></li>
<li><a href="/stuff2">stuff2</a></li>
<li><a href="/stuff3">stuff3</a></li>
</ul>
我已经尝试使用 page.children、self.children 和其他一些东西,但似乎没有任何东西可以按照我想要的方式工作。
如有任何帮助,我们将不胜感激。
恐怕我不太明白你所说的 'category type' 和'页面类型...
Page Collections 上的文档可能很有帮助。
示例:
如果您想要一个带有模板 'category.html.twig' 的页面,该页面显示包含特定类别(或标签)的所有页面的 URL 列表,您可以执行以下操作:
创建页面'category.md' 在 frontmatter 中定义类别集合:
content:
items:
'@taxonomy.category': mycategory
创建模板 'category.html.twig' 包含:
<ul>
{% for p in page.collection() %}
<li><a href="{{p.url}}">{{p.title}}</a></li>
{% endfor %}
</ul>
生成的页面将如下所示:
<ul>
<li><a href="/site-stack">Home</a></li>
<li><a href="/site-stack/blog/hero-classes">Body & Hero Classes</a></li>
</ul>
我用这样的分类法在 grav 中制作了几页。
- Home (category type)
- programming (category type)
- stuff (category type)
- stuff1 (page type)
- stuff2 (page type)
- stuff3 (page type)
我还制作了一个名为 "category" 的模板类型,希望它能抓取指向 stuff1/2/3 的所有链接,并将它们作为链接放在 "stuff" 页面上。我的代码看起来有点像这样:
{% block body %}
{% block content %}
<ul>
{% for p in self.children %}
<li><a href="{{p.url}}">{{ p.title }}</a></li>
{% endfor %}
</ul>
{% endblock %}
{% endblock %}
最终目标是为 children 获取一个简单的链接列表,指向如下类别:
<ul>
<li><a href="/stuff1">stuff1</a></li>
<li><a href="/stuff2">stuff2</a></li>
<li><a href="/stuff3">stuff3</a></li>
</ul>
我已经尝试使用 page.children、self.children 和其他一些东西,但似乎没有任何东西可以按照我想要的方式工作。
如有任何帮助,我们将不胜感激。
恐怕我不太明白你所说的 'category type' 和'页面类型...
Page Collections 上的文档可能很有帮助。
示例: 如果您想要一个带有模板 'category.html.twig' 的页面,该页面显示包含特定类别(或标签)的所有页面的 URL 列表,您可以执行以下操作:
创建页面'category.md' 在 frontmatter 中定义类别集合:
content: items: '@taxonomy.category': mycategory
创建模板 'category.html.twig' 包含:
<ul> {% for p in page.collection() %} <li><a href="{{p.url}}">{{p.title}}</a></li> {% endfor %} </ul>
生成的页面将如下所示:
<ul>
<li><a href="/site-stack">Home</a></li>
<li><a href="/site-stack/blog/hero-classes">Body & Hero Classes</a></li>
</ul>