我为客户的 Shopify 网站创建了显示的面包屑代码
产品>>产品标签>>
集合
例如:
餐具>>盘子>>黄色条纹盘
子
我们使用产品标签来创建子类别。此痕迹导航不起作用的唯一情况是,当一个产品被标记为集合下的两个不同子类别时。例如,我们有"派对恩惠"系列,并且有子类别(产品标签)"女孩青睐"和"男孩青睐"。木制陀螺被标记为"女孩的青睐"和"男孩的青睐"。因此,在浏览数组时,"男孩的喜好"首先出现,并在用户来自女孩喜欢子类别和男孩喜欢子类别时显示在产品页面上。我不能使用删除来删除"男孩的青睐",因为这也会为男孩青睐的产品页面删除它。
有没有办法让我的 breadcrumb.liquid 页面知道用户来自哪个集合/产品标签 URL,然后我可以获取该信息并创建一个变量,我可以创建条件代码来显示正确的产品标签(在同一产品有两个不同的产品标签代表同一集合下的两个子类别的情况下)?
Shopify 不存储变量数据。它仅根据 URL 呈现页面。您可以使用JS和液体代码的组合来使其工作
- 在
collection.liquid
模板或product-block.liquid
代码段中,找到与产品关联的a
代码。 - 在关闭
href
属性之前,将此代码添加{% if current_tags %}#{{ current_tags }}{% endif %}
- 在
theme.liquid
布局中,在<head>
添加此行之前<script>var c_tag = decodeURI(window.location.hash)</script>
- 在与痕迹导航相关的代码中,为特定痕迹导航指定一个 id。假设在您的示例中:
<span id='r_tag'>boys favors >></span>
. -
在该跨度之后,添加以下内容:
<script>if(c_tag == null || c_tag == $('#r_tag').innerHTML.replace(' >>','')){} else { $('#r_tag').innerHTML = c_tag + ' >>' }</script>
请注意,如果有超过 1 个current_tags
您必须相应地修改代码。