Я пытался выяснить, как я собираюсь сделать рекурсию с 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, чтобы он загружал партиалы из базы данных. Поскольку это займет гораздо больше времени для изучения, я сначала хотел спросить, решал ли кто-нибудь эту проблему раньше.
- Если вы решали эту проблему раньше, как вы рендерили что-то рекурсивно и позволяли редактировать его пользователю?
- Если бы вы раньше не занимались этим, какой путь вы бы порекомендовали мне выбрать? Как я описал выше?
Заранее спасибо!