2016-11-04 4 views
0

J'ai remplacé le formulaire d'inscription Shopify par une forme GetResponse et je veux la page de rester au même endroit une fois le formulaire soumis. Pour cela, j'essaie de générer dynamiquement l'URL actuelle afin que je puisse la passer comme URL de retour. Voici ce que mon extrait de code ressemble:actuelle URL de la page Shopify pour la page de blog tagged vue

{% 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 }}"/> 

Comme vous pouvez le voir dans les déclarations de cas que j'ai pris soin de tous les types de pages séparément. Lorsque l'utilisateur est dans la page principale du blog (https://example.com/blogs/news), blog.url renvoie correctement/blogs/news. Toutefois, lorsque je clique sur l'un des tags, je vais à la ligne d'URL https://example.com/blogs/news/tagged/diy ou https://example.com/blogs/news/tagged/bizarre. J'essaie donc de faire en sorte que mon code gère également ce cas pour que current_url prenne la valeur/blogs/news/tagged/diy ou/blogs/news/tagged/bizarre etc.

S'il n'y a pas de variable retournée c'est ok aussi. J'ai juste besoin d'un moyen de retourner la valeur de l'étiquette (comme diy ou bizarre). Ensuite, je peux concaténer blog.url +/tagged/+

Est-ce possible?

Répondre

1

Vous pouvez le faire en utilisant current_tags. Reportez-vous https://help.shopify.com/themes/liquid/objects/current-tags#inside-collection-liquid

Un simple changement dans votre code sera comme celui-ci

{% 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 }}" /> 
+0

Cela a parfaitement fonctionné! Merci beaucoup. – Swagata