我已经用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/diy或https://example.com/blogs/news/tagged/bizarre。所以我试图让我的代码处理这个案例,以便current_url获取值/ blogs / news / tagged / diy或/ blogs / news / tagged / bizarre等。
如果没有单个变量返回它也没关系。我只需要一种方法来返回标签值(如diy或bizarre)。然后我可以连接blog.url + / tagged / +
这可能吗?
答案 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 }}" />