shopify - 直接访问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 %}
是否可以直接获取链接列表的句柄以遍历其子链接?还是我需要先通过搜索顶级项目来找到该链接?
解决方案
linklists.main-menu.links
返回一个对象项数组。
又名:
[
{
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 -%}
但请注意,这只会循环第二个导航项中的项目,而忽略其余的项目。
推荐阅读
- javascript - TypeError:_food2.default 不是构造函数
- javascript - 反应显示子组件值的总和不准确
- python - 我无法安装新软件包/Python 要求我升级其新版本,但它也不起作用
- javascript - 从 ajax 错误处理中获取单独的字符串
- spring - 何时在应用程序上下文上使用可配置的应用程序上下文?
- package - 如何安排 Quicklisp 加载给定库的本地版本
- prolog - 蝙蝠与球谜题
- java - 房间抽象 Pojo
- ios - 静态表视图单元格中的动态表视图
- hibernate - 如何使用 Mockito 在 Hibernate 中模拟 entityManager.getTransaction().begin()?