我正在将SimpleCart.js (http://simplecartjs.org/)集成到一个小项目中。我想看看是否有可能将运输信息添加到SimpleCart Object中。
我从一个现有的用户帐户中获取发货信息,它包含:
shipId, ship_first, ship_last, ship_street, ship_city, ship_state, ship_zip, ship_phone
我在文档中看到我可以扩展SimpleCart.js对象(http://simplecartjs.org/documentation/simplecart-extend)。现在我是这样做的:
在我的HTML标记中:
<a href="#" onclick="setShipping(<?php echo $address['id'] . ", '" . $address['ship_first'] [...] ?>Set Address</a>
我的javascript是这样的:
<script>
function setShipping(shipId, ship_first [...]) {
var shippingInfo = {
shipId: shipId,
ship_first: ship_first,
[...]
};
simpleCart.extend(simpleCart, shippingInfo);
// do some more stuff like updating the checkout button and tax rate
}
</script>
这段代码在这个页面上工作,但是当我浏览到另一个页面时,shipping属性似乎丢失了。我基本上检查每个页面是否设置了送货,如果没有,我就显示链接来设置送货地址。
如何永久地扩展对象
只需将您的simpleCart扩展器添加到实际的simpleCart.js文件中