このクラスを検討してください:
var dep =
new Department
{
Name = "Jack",
Employees = new List<Employee>
{
new Employee()
{
Name = "E1",
Kids = new List<Kid>()
{
new Kid
{
Name = "K1"
},
new Kid
{
Name = "K2"
},
new Kid
{
Name = "K3"
},
new Kid
{
Name = "K4"
}
}
},
new Employee()
{
Name = "E2",
Kids = new List<Kid>()
{
new Kid
{
Name = "K5"
},
new Kid
{
Name = "K6"
}
}
},
new Employee()
{
Name = "E3",
Kids = new List<Kid>()
{
new Kid
{
Name = "K7"
}
}
}
}
};
したがって、次のようなサブテンプレートを定義する必要があります。
{{ Name }}
{% for e in Employee %}
{{ EmployeeTemplate e }} // a Template can be an object for itself as input
{% endfor %}
EmployeeTemplate :
{% for k in Kids %}
{{ KidTemplate k }}
{% endfor %}
KidTemplate :
{% for o in OBJECT %}
{{Name}}
{% endfor %}
そして結果:
Jack
E1
K1
K2
K3
K4
E2
K5
K6
E3
K7
文字列のスタンドアロン ブロックとしてテンプレートが必要なので、dotliquid がサポートしているかどうかを知りたいですか? スタンドアロン テンプレートがサポートする場合、ネストされたテンプレートを定義できますか?