直接访问 shopify 中的嵌套链接列表
Directly access nested linklist in shopify
我在 shopify 中设置了这样的菜单导航:
- main_menu
- top_level_1
- top_level_2
- top_level_2_sub_menu_1
- top_level_2_sub_menu_2
- top_level_2_sub_menu_3
我可以这样做来遍历所有菜单项:
{% for link in linklists.main-menu.links %}
<p>{{ link.handle }}</p>
{% for nestedLink in link.links %}
<p>{{ nestedLink.handle }}</p>
{% endfor %}
{% endfor %}
但是我似乎无法仅通过属于 top_level_2 的子菜单进行迭代。我已经尝试过但没有成功:
{% for link in linklists.main-menu.top_level_2.links %}
<p>{{ link.handle }}</p>
{% endfor %}
也试过这个:
{% for link in linklists.top_level_2.links %}
<p>{{ link.handle }}</p>
{% endfor %}
是否可以直接获取 linklist 的句柄以遍历其子 links?或者我需要先通过搜索顶级项目找到 link 吗?
linklists.main-menu.links
returns 一组对象项。
A.k.a:
[
{
active: false
child_active: false
current: false
child_current: false
levels: 1
links: [...]
object: null
title: "Some title"
type: "http_link"
url: "#:
},
{
active: false
child_active: false
current: false
child_current: false
levels: 1
links: [...]
object: null
title: "Some title"
type: "http_link"
url: "#:
},
{
active: false
child_active: false
current: false
child_current: false
levels: 1
links: [...]
object: null
title: "Some title"
type: "http_link"
url: "#:
},
etc...
]
所以你不能说 linklists.main-menu.top_level_2
因为没有这样的对象。
你可以说 linklists.main-menu.links[1].links
然后做类似这样的事情:
{%- for link in linklists.main-menu.links[1].links -%}
{%- endfor -%}
但请注意,这将仅循环第二个导航项中的项并忽略其余项。
我在 shopify 中设置了这样的菜单导航:
- main_menu
- top_level_1
- top_level_2
- top_level_2_sub_menu_1
- top_level_2_sub_menu_2
- top_level_2_sub_menu_3
我可以这样做来遍历所有菜单项:
{% for link in linklists.main-menu.links %}
<p>{{ link.handle }}</p>
{% for nestedLink in link.links %}
<p>{{ nestedLink.handle }}</p>
{% endfor %}
{% endfor %}
但是我似乎无法仅通过属于 top_level_2 的子菜单进行迭代。我已经尝试过但没有成功:
{% for link in linklists.main-menu.top_level_2.links %}
<p>{{ link.handle }}</p>
{% endfor %}
也试过这个:
{% for link in linklists.top_level_2.links %}
<p>{{ link.handle }}</p>
{% endfor %}
是否可以直接获取 linklist 的句柄以遍历其子 links?或者我需要先通过搜索顶级项目找到 link 吗?
linklists.main-menu.links
returns 一组对象项。
A.k.a:
[
{
active: false
child_active: false
current: false
child_current: false
levels: 1
links: [...]
object: null
title: "Some title"
type: "http_link"
url: "#:
},
{
active: false
child_active: false
current: false
child_current: false
levels: 1
links: [...]
object: null
title: "Some title"
type: "http_link"
url: "#:
},
{
active: false
child_active: false
current: false
child_current: false
levels: 1
links: [...]
object: null
title: "Some title"
type: "http_link"
url: "#:
},
etc...
]
所以你不能说 linklists.main-menu.top_level_2
因为没有这样的对象。
你可以说 linklists.main-menu.links[1].links
然后做类似这样的事情:
{%- for link in linklists.main-menu.links[1].links -%}
{%- endfor -%}
但请注意,这将仅循环第二个导航项中的项并忽略其余项。