Announcement

Collapse
No announcement yet.

Not add shipping until checkout after address given

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Not add shipping until checkout after address given

    I am sorry to trouble you with this but I have looked everywhere.

    How can I make it so that SD does not add shipping until checkout after address given? Even a default site adds shipping to the ATC confirmation which is putting customers off.

    There are loads of entries in the forum asking about this but no solution. It is suggested that it is default not to add shipping until checkout but in the default Swift site this is not so.

    Here are two completely default Swift sites and they add shiping to the ATC and cart

    https://www.newebsite.co.uk/swiftdefault/

    https://newebsite.me.uk/sd01/

    You can hide the shipping line but it still gets added to the total!

    Thank you!
    Jonathan Chappell
    Website Designer
    SellerDeck Website Designer
    Actinic to SellerDeck upgrades
    Graphicz Limited - www.graphicz.co.uk

    #2
    I don't use Swift but I'd be surprised if it showed shipping charges in the Add To Cart and the Cart if you have the shipping charge set by zone and/or Class as these would be undefined until the customer is at the checkout stage.
    -----------------------------------------

    First Tackle - Fly Fishing and Game Angling

    -----------------------------------------

    Comment


      #3
      Hi Mike
      I raised a ticket with SD - "Not add shipping until checkout after address given"

      and this is the reply:

      I had escalated this to product development and they have come back saying effecting this change will not be an easy task it will need extensive script changes and will effect other areas.
      Also this feature was actually added based on a multiple customer requests.
      So unfortunately your request will have to be one for the Wish list..
      For your future reference the wish list id number is WL- 3409
      So what you say is what used to happen but alas no more due to customer demand!

      Best wishes
      Jonathan Chappell
      Website Designer
      SellerDeck Website Designer
      Actinic to SellerDeck upgrades
      Graphicz Limited - www.graphicz.co.uk

      Comment


        #4
        How odd.

        I wonder if it is picking up the lowest cost option then? You could possibly create a 'Collect from Store' shipping class at £0.00 which should stop it adding anything to the Add To Cart / Cart. (and if you then hide the shipping line there it would be invisible)

        You could also remove the 'Collect from Store' option from the checkout option list using Javascript (if you have more than one shipping option). If you have just the one shipping option then you could hide the drop down list and make sure the normal shipping option is selected by default.

        -----------------------------------------

        First Tackle - Fly Fishing and Game Angling

        -----------------------------------------

        Comment


          #5
          Hmmm... Like that - I will try it!
          Jonathan Chappell
          Website Designer
          SellerDeck Website Designer
          Actinic to SellerDeck upgrades
          Graphicz Limited - www.graphicz.co.uk

          Comment


            #6
            I remember once SD support suggested to switch on something like "get location early" on a shipping issue I had... not sure if that's a quick workaround (also I dunno if it works with Swift)

            Comment


              #7
              I think no more!
              Jonathan Chappell
              Website Designer
              SellerDeck Website Designer
              Actinic to SellerDeck upgrades
              Graphicz Limited - www.graphicz.co.uk

              Comment


                #8
                So I created a shipping class in UK for Click and Collect cost £0.00

                Click image for larger version

Name:	clickandcollect.jpg
Views:	91
Size:	56.7 KB
ID:	556693

                Sure enough this became the selected option.

                I added ‘d-none' to ‘class="checkoutMobileTR row”' in ‘Checkout Shopping cart Grid’ and ‘View Cart Shopping Cart Grid’ and in the 'Small Checkout Shopping Cart Grid Swift’ i added
                Code:
                <actinic:block if="%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Checkout%20Page%200%22%20OR%20%0d%3cactinic%3avariable%20name%3d%22PageType%22%20%2f%3e%20%3d%3d%20%22Add%20To%20Cart%20Confirmation%22" > d-none</actinic:block>
                to 'checkoutMobileTR row'

                Inspecting element in Checkout page 01 the select stuff is

                Code:
                <select id="lstClass" name="ShippingClass"> <option selected="" value="2">Packing &amp; Shipping Charge UK (£8.50)</option> <option value="14">Click and Collect (£0.00)</option> </select>
                so I added to the "Advanced Shipping Class Selection RWD"

                Code:
                <script> $("#lstClass option[value='14']").remove(); </script>
                Thsi all works perfectly (thank you Mike) https://www.graphiczdev.uk/pjmed/

                Question is can I use a variable or script to get the Select ID and the ‘Click and Collect’ Option Value to make it more generally useable and reliable?

                Thank you
                Jonathan Chappell
                Website Designer
                SellerDeck Website Designer
                Actinic to SellerDeck upgrades
                Graphicz Limited - www.graphicz.co.uk

                Comment


                  #9
                  Brilliant. Glad you got it working.

                  -----------------------------------------

                  First Tackle - Fly Fishing and Game Angling

                  -----------------------------------------

                  Comment


                    #10
                    I have now heard back from Sellerdeck Developers with a definitive fix - with thanks and credit to them

                    Edit ActinicOrder.pm , locate the code
                    Code:
                    if (($::s_sDeliveryRegionCode eq '') &&
                    StateRequiredForValidation('Delivery', $::s_sDeliveryCountryCode)) # no region code set so far and needed for validation
                    {
                    my $sRegion = GetSellerDeckRegion($::s_sDeliveryCountryCode,
                    $$::g_pSetupBlob{ADDRESS_4},
                    $$::g_pSetupBlob{POSTAL_CODE}); 
                    if ($sRegion ne $ActinicOrder::UNDEFINED_REGION) 
                    {
                    $::s_sDeliveryRegionCode = $sRegion;
                    } 
                    elsif ($::g_LocationInfo{DELIVERY_COUNTRY_CODE} eq '') # country not set originally?
                    {
                    $::s_sDeliveryCountryCode = ''; # unset it as no valid region found
                    }
                    }
                    and comment it , i.e. it should read
                    Code:
                    # if (($::s_sDeliveryRegionCode eq '') &&
                    # StateRequiredForValidation('Delivery', $::s_sDeliveryCountryCode)) # no region code set so far and needed for validation
                    # {
                    # #
                    # # Read the Post Code Regions blob - fails silently if not present
                    # #
                    # if ($$::g_pSetupBlob{POSTAL_CODE} ne "") # is there a postal code defined?
                    # {
                    # my $sPath = ACTINIC::GetPath();
                    # ACTINIC::ReadPostCodeRegionsFile($sPath);
                    # } 
                    # my $sRegion = GetSellerDeckRegion($::s_sDeliveryCountryCode,
                    # $$::g_pSetupBlob{ADDRESS_4},
                    # $$::g_pSetupBlob{POSTAL_CODE}); 
                    # if ($sRegion ne $ActinicOrder::UNDEFINED_REGION) 
                    # {
                    # $::s_sDeliveryRegionCode = $sRegion;
                    # } 
                    # elsif ($::g_LocationInfo{DELIVERY_COUNTRY_CODE} eq '') # country not set originally?
                    # {
                    # $::s_sDeliveryCountryCode = ''; # unset it as no valid region found
                    # }
                    # }
                    In the same file, locate the line
                    Code:
                    $::s_sDeliveryCountryCode = $::g_LocationInfo{DELIVERY_COUNTRY_CODE} ne '' ? $::g_LocationInfo{DELIVERY_COUNTRY_CODE} : ActinicLocations::GetMerchantCountryCode();
                    and replace it by
                    Code:
                    $::s_sDeliveryCountryCode = $::g_LocationInfo{DELIVERY_COUNTRY_CODE};
                    Hope this helps
                    Jonathan Chappell
                    Website Designer
                    SellerDeck Website Designer
                    Actinic to SellerDeck upgrades
                    Graphicz Limited - www.graphicz.co.uk

                    Comment

                    Working...
                    X