我一直在试图弄清楚我将如何使用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 以使其从数据库加载部分内容。由于这将花费更多时间来学习,所以我想先询问是否有人以前解决过这个问题。
- 如果您以前解决过这个问题,您是如何递归渲染某些内容并允许用户编辑的?
- 如果你以前没有解决过这个问题,你会建议我采取什么方式?我上面详述的方式?
提前致谢!