我正在将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文件中。

09-11 17:36