Twig / Grav模块化获取索引

时间:2017-08-31 16:17:07

标签: twig grav

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

list.html.twig

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

service.html.twig

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

enter image description here

修改

我仍然无法弄清楚这一点。是否有可能根据其在订单中出现的索引获取当前模块的索引?因此,通信策略应该是索引2 ...或者如果是0基础则为1。

1 个答案:

答案 0 :(得分:2)

最后想出了一个解决方法。

您可以包含这样的模块

<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