Написать рекурсивный цикл в 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 -%}
каждый subpage
объект имеет Pages
свойство с другими подстраницами в списке (как первый Page
объект.
Как мне написать рекурсивную итерацию по этим подстраницам для создания полного дерева?
1 ответ
Решение
Переместите свой код в отдельный файл и используйте include
тег.
Этот связанный вопрос включает в себя пример кода шаблона - он предназначен для Ruby-версии Liquid, но он должен быть непосредственно переносимым.
В зависимости от того, что вам нужно сделать, вы можете установить Template.FileSystem
на встроенный LocalFileSystem
решить включает или создать свой собственный. Смотрите исходный код дляLocalFileSystem
для примера реализации IFileSystem
,