在Shopify中将get参数带到签出

在Shopify中将get参数带到签出,shopify,Shopify,如果客户登录到Shopify站点(非Plus)的任何页面,并且在GET(?ref=something)中有一个参考参数,那么如何将该值转移到域不同的签出和订单确认页面 我的一个想法是在我们的域上设置一个cookie,然后在单击Checkout时修改导航到的URL以包含cookie的值,但我不确定这是否是最干净的方法,以及修改URL的最佳位置 我看到\u ga参数似乎自动包含在签出URL中。如何对自定义GET参数执行此操作?其中一种方法是在提交之前修改签出URL 要在您的购物车.liquid文件上

如果客户登录到Shopify站点(非Plus)的任何页面,并且在GET(
?ref=something
)中有一个参考参数,那么如何将该值转移到域不同的签出和订单确认页面

我的一个想法是在我们的域上设置一个cookie,然后在单击Checkout时修改导航到的URL以包含cookie的值,但我不确定这是否是最干净的方法,以及修改URL的最佳位置


我看到
\u ga
参数似乎自动包含在签出URL中。如何对自定义GET参数执行此操作?

其中一种方法是在提交之前修改签出URL

要在您的购物车.liquid文件上执行此操作,请使用action=“/cart”找到表单并添加属性:

onsubmit="update_action(this)"
并在主题.liquid文件的底部添加javascript代码:

<script type="text/javascript">
 function update_action(form){
   var new_action; 
   var some_value = "something";
   var form_action = form.action;
   if( (form_action.indexOf("?") >= 0) ) {
     if(form_action.indexOf("ref")>=0) {
       new_action = form_action.replaceAt(form_action.indexOf("ref"),"ref="+some_value);
     }else{
       new_action = form_action+"&ref="+some_value;
     }
   }else{
     new_action = form_action+"?ref="+some_value;
   }
   $(form).attr("action",new_action);
 }
</script>

功能更新行动(表格){
新行动;
var some_value=“something”;
var form_action=form.action;
if((form_action.indexOf(“?”>=0)){
if(form_action.indexOf(“ref”)>=0){
new_action=form_action.replaceAt(form_action.indexOf(“ref”),“ref=”+某些_值);
}否则{
新动作=形式动作+“&ref=“+某些值;
}
}否则{
新的行动=形式行动+“?参考=”+一些行动值;
}
$(表格).attr(“行动”,新行动);
}

希望这能解决您的问题。

请注意,ref和登录页是由Shopify自动存储的,这意味着您无需做任何事情,即可在客户的订单中获得这些值。您不必按照此线程手动操作它们


为什么您需要结帐时的价值(无论如何,您无法使用它),为什么在订单确认时,它对客户没有任何用途

您需要修改签出URL。参考-如果订单未在单个会话内完成,Shopify无法捕获此数据。这是附属计划所需的数据。客户使用GET参数登陆站点。我们会把它储存在饼干里。然后需要在订单确认页面上触发的JS请求中使用该值。Shopify平台决定了您可以做什么,不能做什么。。。你有工作要做:)非常感谢!对于所有可能需要的人,此答案可用于将“locale=XX”参数添加到签出,然后翻译签出页面!伟大的