Grav模板-Twig未列出子页面

时间:2018-08-22 19:21:50

标签: twig 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 %}

最终目标是仅获得儿童链接到以下类别的简单列表:

<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和其他一些东西,但是似乎没有任何办法可以使它按我想要的方式工作。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

恐怕我不太了解“类别类型”和“页面类型...”的意思。

Page Collections上的文档可能会很有帮助。

示例: 如果您想要一个带有模板“ category.html.twig”的页面,该页面显示包含特定类别(或标签)的所有页面的网址列表,则可以执行以下操作:

  1. 创建一个页面“ category.md”,该页面在最前面定义类别的集合:

    content:
      items:
        '@taxonomy.category': mycategory
    
  2. 创建一个模板“ 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>