nav_tree
User 69e88e27
发布于:2025-09-10
解释:
根据传入对象生成导航树结构,支持page
或 site
。返回类型为数组
如果输入是 页面对象 (PageDrop),则从该页面开始生成指定深度的导航树。
如果输入是 站点对象 (SiteDrop),则从站点根路径 / 开始生成指定深度的导航树。
depth 参数表示导航树的层级深度,最小值/默认值为 1。
示例:
{% comment %}
返回page页面下2层的导航树数据
{% endcomment %}
{{ page | nav_tree: 2 }}
{% comment %}
返回site下3层的导航树数据
{% endcomment %}
{{ site | nav_tree: 3 }}
{% comment %}
获取page下2层nav_tree数据,并通过to_json + escape 输出至html中,提供给 stimulusjs: turbo-nav-tree controller使用
{% endcomment %}
<div
data-controller="turbo-nav-tree"
data-turbo-nav-tree-nav-tree-value='{{ page | nav_tree: 2 | to_json | escape }}'
data-turbo-nav-tree-depth-value='0'
data-turbo-nav-tree-current-path-value='{{ page.path }}'
data-turbo-nav-tree-link-turbo-value="false"
>
</div>
{% comment %}
获取 site 或 page 下全部的nav_tree 数据
{% endcomment %}
{% assign site_nav_tree = site.nav_tree %}
{% assign page_nav_tree = page.nav_tree %}