Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在DotLiquid中编写递归循环_C#_Templates_Liquid_Dotliquid - Fatal编程技术网

C# 在DotLiquid中编写递归循环

C# 在DotLiquid中编写递归循环,c#,templates,liquid,dotliquid,C#,Templates,Liquid,Dotliquid,我有这个循环: {%页中的页-%} {{page.Title}} {page.Pages-%} {{子页面标题} {%endfor-%} {%endfor-%} 每个子页面对象都有一个页面属性,与列表中的其他子页面(如第一个页面对象)相同 如何在这些子页面上编写递归迭代以创建完整的树?将代码移动到单独的文件中,并使用include标记 相关问题包括一些示例模板代码——它是针对Ruby版本的Liquid,但应该是可直接移植的 根据您需要执行的操作,您可以将Template.FileSyste

我有这个循环:

{%页中的页-%}
{{page.Title}}
    {page.Pages-%}
  • {{子页面标题}
  • {%endfor-%}
{%endfor-%}
每个
子页面
对象都有一个
页面
属性,与列表中的其他子页面(如第一个
页面
对象)相同


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

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

相关问题包括一些示例模板代码——它是针对Ruby版本的Liquid,但应该是可直接移植的


根据您需要执行的操作,您可以将
Template.FileSystem
设置为内置的
LocalFileSystem
以解析包含,也可以创建自己的文件系统。有关
IFileSystem
的示例实现,请参阅
IFileSystem

哦,作者本人的回答,谢谢!我真的很喜欢DotLiquid吗?:)我将实现文件系统,我不知道这一点,看看我是否能够实现。实际上,在实现LocalFileSystem后,在DotLiquid中加载模板是
{%include MyTemplate%}
,而不是相关问题中列出的
{{include'menu item'with menu items}
。我知道,这是Ruby版本,我只是想在这里为其他人提一下;)@Tim Jones是否可以将对象从磁盘文件传递到包含的模板?@Pitdiger是的,事实上,Marc的评论是正确的。您可以执行类似于
{{include'product'with products[0]}}的操作,这将把
products[0]`对象传递给
product
模板。用于访问包含模板内对象的变量名是模板本身的名称,即本例中的
product
{% 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 -%}