我已经研究了好几天,但找不到解决方案。 Magento版本是1.9.2.4。
场景是客户是来宾。他们选择他们的产品,然后进行单页结账并填写他们的姓名和地址详细信息。然后他们希望修改他们的购物车并导航回商店以添加更多产品。当他们返回结帐页面时,他们的姓名和地址详细信息已经消失,他们必须重新输入。
我可以通过修改persistent \ checkout \ onepage \ billing.phtml中的continue按钮继续发送信息部分来创建存储名字,姓氏等的cookie,如下所示:
`<button type="button" title="<?php echo Mage::helper('core')->quoteEscape($this->__('Continue')) ?>" class="button" onclick="set_billing_cookies()"><span><span><?php echo $this->__('Continue') ?></span></span></button>
并添加JavaScript如下:
function set_billing_cookies(){
firstname = document.getElementById('billing:firstname').value;
createCookie('guestfirstname',firstname,7);
billing.save();
}
这有效,我可以看到在转移到billing.save();
之前生成的cookie问题是当客户返回网站时如何读取cookie。我尝试使用window.onload = function ...尝试使用javascript来读取cookie并在两个地方填写账单地址字段
都没有工作。我意识到该页面实际上只加载了一次,并通过AJAX进行管理。
我应该在哪里添加JavaScript以阅读Cookie?如何填充字段?
或者我应该尝试使用会话?
对于许多Magento网站来说,这一定是个问题。我在这里错过了一个非常简单的解决方案或者我是否必须购买商业结帐扩展才能获得此功能?
请帮助!!
答案 0 :(得分:0)
更新。我在Javascript中发出语法错误来读取cookie。上面的解决方案有效。在.... billing.phtml上保存/生成所有cookie,并在加载后在..... onepage.phtml上阅读。