在某些页面上显示 link_list 菜单
display link_list menu on certain pages
我想让某个菜单显示在我的产品页面的 header 中,而不是 site-wide。
我的 theme.liquid
文件在 <body>
中有 {% section 'header' %}
标签,所以我的 header 在所有页面上都显示正常。
sections/header.liquid
具有以下架构:
{% schema %}
{
"name": "Header",
"settings": [
{
"type": "link_list",
"id": "menu",
"default": "main-menu",
"label": "Heading Navigation Menu"
}
]
}
{% endschema %}
我认为当您进入 Shopify 上的主题编辑器时,您将能够单独 select 在我的 'Heading Navigation Menu' 部分每页的菜单部分中显示的内容(首页, Collections、博客等),但此时它是静态的。理想情况下,我可以进入那里 select 我在某些页面的导航设置中创建的不同菜单。
我最终用 switch 语句和 template
对象处理了这个问题。
在我 sections/header.liquid
的导航栏中,我创建了 switch 语句:
<nav>
<ul>
{% case template.name %}
{% when 'article' %}
<li>
Show that
</li>
{% when 'cart' or 'blog' or 'product' %}
<li>
Show that and this
</li>
{% else %}
<li>
Show this
</li>
{% endcase %}
</ul>
</nav>
您可以将您喜欢的任何元素放入各个案例中,它会检查您的模板名称是什么以显示该元素。
两者的 Shopify 文档:
不确定这是否是最有效的方法,但希望这对任何试图完成类似事情的人有所帮助。
我想让某个菜单显示在我的产品页面的 header 中,而不是 site-wide。
我的 theme.liquid
文件在 <body>
中有 {% section 'header' %}
标签,所以我的 header 在所有页面上都显示正常。
sections/header.liquid
具有以下架构:
{% schema %}
{
"name": "Header",
"settings": [
{
"type": "link_list",
"id": "menu",
"default": "main-menu",
"label": "Heading Navigation Menu"
}
]
}
{% endschema %}
我认为当您进入 Shopify 上的主题编辑器时,您将能够单独 select 在我的 'Heading Navigation Menu' 部分每页的菜单部分中显示的内容(首页, Collections、博客等),但此时它是静态的。理想情况下,我可以进入那里 select 我在某些页面的导航设置中创建的不同菜单。
我最终用 switch 语句和 template
对象处理了这个问题。
在我 sections/header.liquid
的导航栏中,我创建了 switch 语句:
<nav>
<ul>
{% case template.name %}
{% when 'article' %}
<li>
Show that
</li>
{% when 'cart' or 'blog' or 'product' %}
<li>
Show that and this
</li>
{% else %}
<li>
Show this
</li>
{% endcase %}
</ul>
</nav>
您可以将您喜欢的任何元素放入各个案例中,它会检查您的模板名称是什么以显示该元素。
两者的 Shopify 文档:
不确定这是否是最有效的方法,但希望这对任何试图完成类似事情的人有所帮助。