我在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 -%}
每个subpage
对象都有一个Pages
属性,其中包含列表中的其他子页面(如第一个Page
对象。
如何在这些子页面上编写递归迭代来创建完整的树?
答案 0 :(得分:3)
将您的代码移到单独的文件中,并使用include
标记。
This相关问题包括一些示例模板代码 - 它适用于Ruby版本的Liquid,但应该可以直接移植。
根据您需要执行的操作,您可以将Template.FileSystem
设置为内置LocalFileSystem
以解析包含,也可以创建自己的内容。有关IFileSystem
的示例实现,请参阅source code for LocalFileSystem
。