博客页面标记视图的当前Shopify页面网址

时间:2016-11-04 17:05:09

标签: shopify liquid getresponse

我已经用GetResponse表单替换了Shopify注册​​表单,我希望页面在提交表单后保留在同一个位置。为此,我试图动态生成当前URL,以便我可以将其作为返回URL传递。这是我的代码片段的样子:

    {% assign current_url = '' %}

    {% case template %}
         {% when 'page' %}
               {% assign current_url = page.url %}
         {% when 'blog' %}
               {% assign current_url = blog.url %}
         {% when 'article' %}
               {% assign current_url = article.url %}
         {% when 'collection' %}
               {% assign current_url = collection.url %}
         {% when 'product' %}
               {% assign current_url = product.url %}
    {% endcase %}


<form action="https://app.getresponse.com/add_subscriber.html" accept-charset="utf-8" method="post">
<!-- Show the name field (required) -->
<input type="hidden" name="name"/>
<!-- Email field (required) -->
<input type="text" name="email"/>

<!-- Campaign token -->
<!-- Get the token at: https://app.getresponse.com/campaign_list.html -->
<input type="hidden" name="campaign_token" value="xxxxx"/>

<!-- Subscriber button -->
<input type="submit" value="Sign Me Up" onclick="javascript:window.alert('Thanks for entering your email address!');"/>
<!-- Add any optional code here (explained below) -->
<input type="hidden" name="thankyou_url" value="https://example.com{{ current_url }}"/>

正如您在案例陈述中所看到的,我分别处理了所有页面类型。当用户位于主博客页面(https://example.com/blogs/news)时,blog.url会正确返回/ blogs / news。但是,当我点击任何代码时,我会转到网址行https://example.com/blogs/news/tagged/diyhttps://example.com/blogs/news/tagged/bizarre。所以我试图让我的代码处理这个案例,以便current_url获取值/ blogs / news / tagged / diy或/ blogs / news / tagged / bizarre等。

如果没有单个变量返回它也没关系。我只需要一种方法来返回标签值(如diy或bizarre)。然后我可以连接blog.url + / tagged / +

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以使用current_tags执行此操作。请参阅https://help.shopify.com/themes/liquid/objects/current-tags#inside-collection-liquid

您的代码中的简单更改将是这样的

{% capture current_url %}
  {% case template %}
    {% when 'page' %}{{page.url}}
    {% when 'blog' %}{% if current_tags %}/{{ current_tags.first | handleize }}{% endif %}
    {% when 'article' %}{{article.url}}
    {% when 'collection' %}{{collection.url}}{% if current_tags %}/{{ current_tags.first | handleize }}{% endif %}
    {% when 'product' %}{{product.url}}
  {% endcase %}
{% endcapture %}

<input type="hidden" name="thankyou_url" value="https://example.com{{ current_url | strip_newlines }}" />