我正在将SimpleCart.js(http://simplecartjs.org/)集成到一个小项目中。我想看看是否可以将运送信息实际添加到SimpleCart对象中。
我从现有的用户帐户中获得了运送信息,其中包含:
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>
该代码在此页面上有效,但是当我浏览到另一页面时,运输属性似乎丢失了。基本上,我会在每个页面上检查是否设置了送货,如果没有,我会显示用于设置送货地址的链接。
我将如何“永久”扩展对象?
最佳答案
只需将您的simpleCart扩展器添加到实际的simpleCart.js文件中。