2017-10-10 14 views
0

Je suis assez nouveau à tout cela alors s'il vous plaît ours avec moi! J'utilise Shopify et je voudrais changer une image sur l'une des pages en fonction de la collection que le client vient de voir. Nous espérons atteindre cet objectif avec cookies. Jusqu'à présent, j'ai réussi à assigner un cookie égal à la poignée de la collection lorsqu'un utilisateur visite une collection (je sais que cela fonctionne parce qu'il a été testé ailleurs sur le site avec une fonctionnalité différente) mais je ne sais pas comment l'utiliser pour montrer l'image correcte.Attribuer un cookie à une variable? Shopify

Tous nos fichiers d'image ont été appariés avec la bonne collection en les nommant avec le manche de la collection. Donc, disons que vous venez d'être sur la collection avec la poignée defenders-of-wildlife, pour afficher l'image sur la page le code est: {{'defenders-of-wildlife' | asset_url | Je dois trouver un moyen d'utiliser le cookie pour modifier cette première section du code.

Tout conseil est très apprécié !!

Répondre

0

Vous ne pouvez pas lire dans un cookie dans un langage liquide shopify. Tout doit être fait en utilisant js. Par exemple, vous pouvez affecter le shopify asset_url à une variable javascript. Ajoutez ensuite le nom de la poignée de collecte à partir du cookie et de l'extension d'image (.jpg ou .png). Puis affichez l'image en utilisant javascript.

+0

Merci pour votre réponse! Ça a du sens. J'ai utilisé ceci pour essayer et afficher l'image en utilisant javascript: https://stackoverflow.com/questions/5451445/how-to-display-image-with-javascript mais je ne peux pas comprendre comment utilisez la variable img_path avec l'exemple indiqué dans le lien. Aussi, comment puis-je le montrer sans utiliser la méthode on click? Tous les exemples que j'ai vus semblent inclure cela. Encore merci! – kem

+0

Oh, en fait cela fonctionne: var img_path = '{{defenders-of-wildlife | asset_url | img_tag}} '; \t document.write (img_path); J'ai donc essayé ceci: var img_path = '{{cookieValue | asset_url | img_tag}} '; \t document.write (img_path); Mais il semble que je ne stocke pas correctement la valeur du cookie dans cette variable ou que je ne peux pas insérer une variable javascript dans la variable img_path comme ça. – kem

+0

vous ne pouvez pas utiliser cookieValue dans le code liquide. 1) Obtenir l'URL de l'élément 'var img_path = '{{'? ' | asset_url | Divisé:'?' | first}} '; ' 2) Récupère le nom du cookie et ajoute-lui une extension d'image. 'var img_name = cookievalue + '.jpg',' 3) ajouter les deux ensemble pour obtenir une URL de l'image complète 'var full_image = img_path + img_name; ' 4) écrire l'image ' document.write ('') ' Hope this helps –