Liquid으로 재귀를 수행하는 방법을 파악하려고 노력했습니다. 사용자에게 메뉴 렌더링을 완전히 제어 할 수있는 앱이 있습니다. 그러나 메뉴는 트리로 정의되므로 Liquid에서 재귀 함수가 필요합니다.액체 마크 업/액체 템플릿의 재귀
어떻게하면됩니까? 일부 독서를 수행 한 후, 나는 그것을 이런 식으로 해결 거라고 생각했다 :
포함을
내가 이런 식으로 include
사용하는 생각을했다 :
<ul id='site_nav' class='nav'>
{{ include 'menu_item' with menu_items }}
</ul>
그리고 일부이든 MENU_ITEM이 있습니다 :
<li id='{{menu_item.dom_id}}' class='{{menu_item.css_menu_class}}'>
{{ menu_item.name }}
<ul>
{{ include 'menu_item' with menu_item.children }}
</ul>
</li>
그러나 사용자가 편집 할 수 있으므로 데이터를 부분적으로로드하기 위해 Liquid를 해킹해야합니다. 베이스. 그게 공부하는데 더 많은 시간을 필요로하기 때문에, 나는 누군가가 전에이 문제를 다루는 지 먼저 물어보고 싶었다.
- 이 문제를 해결하기 전에 어떻게 재귀 적으로 렌더링하고 사용자가 편집 할 수있게 했습니까?
- 이전에이 문제를 해결하지 않았다면 어떤 방법을 택할 것입니까? 내가 위에 상술 한 방법?
미리 감사드립니다. 내가 구현 한
https://github.com/Shopify/liquid/blob/master/lib/liquid/file_system.rb
: