【问题标题】:Shopify get nav handle from a linkShopify 从链接获取导航句柄
【发布时间】:2019-06-19 01:55:46
【问题描述】:

是否可以从导航中的 URL 获取导航的句柄或名称?

假设我有一个集合 https://avasahome.myshopify.com/collections/ABC 的 URL,它位于 ABC Test 导航中,句柄为 abc-test

我可以从网址https://avasahome.myshopify.com/collections/ABC 获得abc-test 吗?

请帮我解决这个问题,因为我没有找到关于这件事的文件。

谢谢!

【问题讨论】:

  • 是的,你可以。 $('.nav__item') 会给你页面中的所有导航项。获取所有子元素内的文本。
  • @SubhrajyotiDas 谢谢你帮助我!你可以说得更详细点吗?因为我不认为$('.nav__item') 是为了liquid
  • 您的用例是什么?您想要页面加载的文本还是单击导航链接时的文本?所有 javascript 代码都可以在液体文件中运行!
  • 像这样,我在 ABC 收藏页面内,而该收藏在 ABC Test 导航内,我需要从 ABC 收藏页面获取该导航的句柄,是这可能吗?
  • 请您分享您尝试使用的液体代码。

标签: shopify liquid


【解决方案1】:

将以下代码放入您的液体文件中。这基本上是一个调用的函数,它将返回导航链接文本

get_nav = function(){
  var i, len, nav, ref;

  ref = $('.nav__link');
  for (i = 0, len = ref.length; i < len; i++) {
    nav = ref[i];
    if (nav.href === document.location.href) {
      alert(nav.text);
      //return nav.text;
    }
  }
}

【讨论】:

    【解决方案2】:

    这会将您想要的值分配为retrievedLinkHandle

    {%- assign retrievedLinkHandle = false -%}
    {%- for link in nav.links -%}
      {%- if link.type == 'collection_link' and link.object.id == collection.id -%}
        {%- assign retrievedLinkHandle = link.title | handle -%}
        {%- break -%}
      {%- endif -%}  
    {%- endfor -%}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 2021-05-07
      相关资源
      最近更新 更多