Advertisement
rijarob

Change Ground Shipping Option to $5 Based on Items in Cart

Jun 16th, 2017
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.81 KB | None | 0 0
  1. {% if context == 'cart' or context == 'checkout' %}
  2. <script type="text/javascript" charset="utf-8">
  3. (function (FC, $) {
  4. FC.customLiveShipping = {};
  5.  
  6. FC.customLiveShipping.config = {
  7. autoSelect: false
  8. /* Set to true if you'd like the top shipping option to be automatically selected for the user */
  9. };
  10.  
  11. FC.customLiveShipping.logic = function() {
  12. /* BEGIN CUSTOM SHIPPING LOGIC */
  13. var has_default_category_item_only = true;
  14. for (p in FC.json.items) {
  15. if (FC.json.items[p].category != "DEFAULT") {
  16. has_default_category_item_only = false;
  17. }
  18. }
  19.  
  20. if (has_default_category_item_only == true) {
  21. FC.customLiveShipping.update('ground shipping', 5);
  22. }
  23. /* END CUSTOM SHIPPING LOGIC */
  24. };
  25.  
  26. /* Live Rate Shipping Modification Logic v2.0.14 */
  27. FC.customLiveShipping.add=function(a,b,c,d){FC.json.shipping_address.shipping_results.push({method:c,price:b,service_id:a,service_name:d})};FC.customLiveShipping.hide=function(a){a=FC.customLiveShipping.filterShippingOptions(a);for(var b=0;b<a.length;b++)FC.json.shipping_address.shipping_results[a[b]].hide=!0};FC.customLiveShipping.show=function(a){a=FC.customLiveShipping.filterShippingOptions(a);for(var b=0;b<a.length;b++)FC.json.shipping_address.shipping_results[a[b]].hide=!1};
  28. FC.customLiveShipping.update=function(a,b,c,d){a=FC.customLiveShipping.filterShippingOptions(a);for(var e=0;e<a.length;e++){if("number"===typeof b||"string"===typeof b&&""!==b){var f=FC.customLiveShipping.modifyPrice(FC.json.shipping_address.shipping_results[a[e]].price,b);FC.json.shipping_address.shipping_results[a[e]].price=f}"string"===typeof c&&(FC.json.shipping_address.shipping_results[a[e]].method=c);"string"===typeof d&&(FC.json.shipping_address.shipping_results[a[e]].service_name=d)}};
  29. FC.customLiveShipping.remove=function(a){FC.customLiveShipping.hide(a)};FC.customLiveShipping.reset=function(){FC.util.addressHasLocationInfo(FC.json.shipping_address)&&(0<FC.json.shipping_address.shipping_results.length&&(FC.customLiveShipping.ratesHash=""),FC.cart.showShippingLocationInput(),FC[FC.json.context].getShippingOptions({address:FC.json.shipping_address}))};function customLiveShippingHandler(){FC.customLiveShipping.execute()}
  30. function customCouponHandler(){FC.customLiveShipping.reset()}
  31. FC.customLiveShipping.execute=function(){if(0<FC.json.shipping_address.shipping_results.length&&FC.customLiveShipping.hasChanged()){FC.customLiveShipping.logic(FC.json.shipping_address);for(var a=!1,b=FC.json.shipping_address.shipping_results.length-1;0<=b;b--)FC.json.shipping_address.shipping_results[b].hide?FC.json.shipping_address.shipping_results.splice(b,1):FC.json.shipping_address.shipping_results[b].service_id==FC.json.shipping_address.shipping_service_id&&(a=!0);a||(FC.json.shipping_address.shipping_service_description=
  32. "",FC.json.shipping_address.shipping_service_id=0);FC.json.shipping_address.shipping_results.sort(function(a,b){return a.price-b.price});FC.customLiveShipping.config.autoSelect&&0==FC.json.shipping_address.shipping_service_id&&(FC.json.shipping_address.shipping_service_id=FC.json.shipping_address.shipping_results[0].service_id,FC.json.show_shipping_tbd=!1);FC.Template(FC.json.context).clearOutput();FC.cart.recalculateCartTotals();FC[FC.json.context].renderShippingRates(FC.json.shipping_address);0<
  33. FC.json.shipping_address.shipping_service_id&&jQuery("#shipping_service_id_"+FC.json.shipping_address.shipping_service_id).trigger("click.fc");FC.customLiveShipping.ratesHash=FC.util.hashString(JSON.stringify(FC.json.shipping_address.shipping_results))}};
  34. FC.customLiveShipping.hasChanged=function(){return FC.customLiveShipping.hasOwnProperty("ratesHash")&&""!=FC.customLiveShipping.ratesHash?FC.customLiveShipping.ratesHash!=FC.util.hashString(JSON.stringify(FC.json.shipping_address.shipping_results))?!0:!1:!0};
  35. FC.customLiveShipping.filterShippingOptions=function(a){if("number"==typeof a){for(var b=[],c=0;c<FC.json.shipping_address.shipping_results.length;c++)FC.json.shipping_address.shipping_results[c].service_id==a&&(b=[c]);return b}if("string"==typeof a){for(var b=[],d={},c=0;c<FC.json.shipping_address.shipping_results.length;c++){var e=FC.json.shipping_address.shipping_results[c];d[c]=e.method+" "+e.service_name}if("all"!=a.toLowerCase()){a=/(fedex|usps|ups)?\s?(.+)?/i.exec(a);if(void 0==a||""==a)return;
  36. for(c in d)void 0!=a[1]&&""!=a[1]&&-1==d[c].toLowerCase().indexOf(a[1].toLowerCase())?delete d[c]:void 0!=a[2]&&""!=a[2]&&-1==d[c].toLowerCase().indexOf(a[2].toLowerCase())&&delete d[c]}for(c in d)b.push(parseInt(c));return b}if("object"==typeof a){b=[];for(c=0;c<a.length;c++)for(d=0;d<FC.json.shipping_address.shipping_results.length;d++)FC.json.shipping_address.shipping_results[d].service_id==a[c]&&b.push(d);return b}};
  37. FC.customLiveShipping.modifyPrice=function(a,b){b=b.toString();var c=/([\+\-\=\*\/])?(\d+(?:\.\d+)?)(\%)?/.exec(b);a=parseFloat(a);var d=parseFloat(c[2]);void 0!=c[3]&&""!=c[3]&&(d=d/100*a);switch(void 0==c[1]&&""!=c[1]?"=":c[1]){case "+":a+=d;break;case "-":a-=d;break;case "/":a/=d;break;case "*":a*=d;break;default:a=d}return 0>a?0:a};
  38. FC.client.on("cart-coupon-add.done",customCouponHandler);FC.client.on("cart-coupon-remove.done",customCouponHandler);
  39. {% if context == "cart" and not cart_is_fullpage %}
  40. FC.client.on("cart-shipping-options-update.done",customLiveShippingHandler);FC.customLiveShipping.reset();
  41. {% else %}
  42. $(document).ajaxComplete(function(b,c,a){b=/ThisAction=(\w+)/;void 0!==a&&a.hasOwnProperty("url")&&-1!=a.url.search(b)&&a.url.match(b);FC.customLiveShipping.execute()});FC.client.on("customer-login.done",FC.customLiveShipping.reset);FC.client.on("ready.done",FC.customLiveShipping.reset);
  43. {% endif %}
  44. })(FC, jQuery);
  45. </script>
  46. {% endif %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement