nav_tree

User 69e88e27

发布于:2025-09-10

解释:

根据传入对象生成导航树结构,支持pagesite。返回类型为数组

  • 如果输入是 页面对象 (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 %}

提交反馈