2017-10-10 79 views
0

我對這一切都很陌生,所以請耐心等待! 我正在使用Shopify,並希望根據客戶剛剛查看的集合更改其中一個頁面上的圖片。將Cookie分配給變量? Shopify

我們希望使用cookies來實現這一點。到目前爲止,當用戶訪問一個集合時,我設法分配了一個等於集合的句柄的cookie(我知道這是有效的,因爲它已經在網站上的其他地方進行了測試,但具有不同的功能),但我無法弄清楚如何使用這個顯示正確的圖像。

我們所有的圖像文件都與正確的集合相匹配,並通過集合的句柄命名。因此,假設您剛剛在defenders-of-wildlife的手柄上進行收集,請在頁面上顯示代碼爲: {{''捍衛野生動物'| asset_url | img_tag}}

所以我需要找到一種方法來使用cookie來更改代碼中的第一部分。

任何建議非常感謝!

回答

0

你不能用shopify液體語言讀取cookie。一切都需要使用js完成。

例如,您可以將shopify asset_url分配給javascript變量。

var img_path = '{{ '?' | asset_url | split:'?' | first }}'; 

然後從cookie和圖像擴展名(.jpg或.png)添加您的收藏夾句柄名稱。然後使用javascript顯示圖像。

+0

感謝您的回覆!這就說得通了。 我一直在使用此嘗試和顯示使用JavaScript的圖像︰https://stackoverflow.com/questions/5451445/how-to-display-image-with-javascript 但我不明白如何使用鏈接中顯示的示例的img_path變量。另外,如何在不使用點擊方式的情況下顯示它?我所見過的所有例子似乎都包含了這一點。 再次感謝您! – kem

+0

哦,其實這個作品: var img_path ='{{捍衛野生動物| asset_url | img_tag}}'; \t document.write(img_path); 所以我試過這個: var img_path ='{{cookieValue | asset_url | img_tag}}'; \t document.write(img_path); 但似乎我沒有正確地將cookie的值存儲在該變量中,或者我無法將javascript變量插入到img_path變量中。 – kem

+0

你不能在液體代碼中使用cookieValue。 1)獲取資產網址 'var img_path ='{{'?' | asset_url |分裂:'?' |第一個}}';' 2)獲取cookie名稱併爲其添加圖像擴展名。 '變種img_name = cookieValue +名爲.jpg;' 3)同時添加在一起以得到一個完整的圖像的URL '變種full_image = img_path + img_name; ' 4)寫的圖像 '文件撰寫( '');' 希望這有助於 –