Twig / Grav 模块化获取索引

Twig / Grav modular get index

我可以从外部循环获取索引或以某种方式将其传递给内部模块吗?

list.html.twig

<ul>
    {% for module in page.collection %}
        <li>
            {{ module.content }}
        </li>
    {% endfor %}
</ul>

service.html.twig

<h2>{{ loop.index }} </h2>

编辑

我还是想不通。是否可以根据当前模块在其顺序中出现的索引获取其树枝模板中当前模块的索引?所以通信策略应该是索引 2 ... 或 1 如果 0 基地。

终于找到了解决方法。

您可以改为包含这样的模块

<ul>
    {% for module in page.collection %}
        <li>
            {% include module.template ~ '.html.twig' with {page: module} %}
        </li>
    {% endfor %}
</ul>

这样做可能会对性能造成轻微影响,因为我相信您正在第二次渲染部分内容,但它使您可以完全访问外部范围。

编辑

页面对象实际上缺少此功能,所以我添加了它,它可以从 v1.3.3 开始使用

https://learn.getgrav.org/themes/theme-vars#currentposition