编程语言
首页 > 编程语言> > c# – 在DotLiquid中写一个递归循环

c# – 在DotLiquid中写一个递归循环

作者:互联网

我在DotLiquid中有这个循环:

{% for page in Page -%}
    {{ page.Title }}
    <ul>
       {% for subpage in page.Pages -%}
           <li>{{ subpage.Title }}</li>
           <!-- subpage.Pages has more pages and so on... -->
       {% endfor -%}
    </ul>
{% endfor -%}

每个子页面对象都有一个Pages属性,列表中包含其他子页面(如第一个Page对象).

如何在这些子页面上编写递归迭代来创建完整的树?

解决方法:

将代码移动到单独的文件中,并使用include标记.

This相关问题包括一些示例模板代码 – 它适用于Ruby版本的Liquid,但它应该是直接可移植的.

根据您的需要,您可以将Template.FileSystem设置为内置的LocalFileSystem来解析包含或创建自己的包含.有关IFileSystem的示例实现,请参阅source code for LocalFileSystem.

标签:c,templates,liquid,dotliquid
来源: https://codeday.me/bug/20190630/1331506.html