我在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 %}
是否可以直接获取链接列表的句柄以迭代其子链接?还是我需要先通过搜索顶级商品来找到该链接?
答案 0 :(得分:1)
linklists.main-menu.links
返回一组对象项。
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 -%}
但是请注意,这只会循环第二个导航项目中的项目,而忽略其余的项目。