Add Weight and destination shipping table for UK based sites

Last modified by Igor Kuzyk on Fri, June 25, 2010 09:13
Source|Old Revisions  

This is an old revision of the document!


Having read all the posts about table rate problems, played about and seemed to have got it to work reliably for me (in the UK, posting home and abroad)

There seems to be a couple of concerns, and hopefully this will help. I am no programmer, but can read script to a degree and a true programmer might think my solution a bit rough, but it works for me perfectly.

You need to export the csv file from the admin by going to System/Configuration, then choose your store and then choose Shipping Methods. Scroll down and you will see the orange ‘Export to csv’ button.

You can open this in excel or similar to add data, but the finished file will not be suitable for upload out of this program.

Download CSVed from http://csved.sjfrancke.nl/index.html.

I sell paper and card and so found it easier to use 1 for 1 sheet of paper and 2 for 1 sheet of card as the weight etc (just to explain the weird weight in the file :-)-

After I put in the details for all counties i post to, I saved as csv and then opened the file in Csved.

This has a lovely option of saving using Double quotes, so your file ends up looking like this -

This file is then uploaded on the same page you exported the blank csv file.

Next, go to -

app/code/core/mage/Shipping/Model/Mysql4/Carrier/Tablerate.php.

and find this - $select→where( $read→quoteInto(”(dest_country_id=? AND dest_zip=?)”, $request→getDestCountryId(), $request→getDestPostcode()). $read→quoteInto(” OR (dest_region_id=? AND dest_zip=)”, $request→getDestRegionId()).

       $read->quoteInto(" OR (dest_country_id=? AND dest_region_id='0' AND dest_zip='')", $request->getDestCountryId()).
        "OR (dest_country_id='0' AND dest_region_id='0' AND dest_zip='')"
     );''

and remove (or comment) everything until it looks like this -

$select→where( $read→quoteInto(”(dest_country_id=?)”, $request→getDestCountryId()) );

Now find shipping.phtml in -

app/design/frontend/default/default/template/checkout/cart/

and, using html comments (bolded) put the start comment out before the paragraph code (about line 26) -

<?php //if($this→getStateActive()): ?> <!– <p> <label for=”region_id”><?php echo $this→(’State/Province’) ?></label><br /> and the finish one (about line 44) - <input class=”input-text” type=”text” id=”postcode” name=”estimate_postcode” value=”<?php echo $this→htmlEscape($this→getEstimatePostcode()) ?>” /></p>–> <p><button type=”button” onclick=”coShippingMethodForm.submit()” class=”form-button-alt”><span><?php echo $this→(’Get a Quote’) ?></span></button></p>

I have left code around this last example to make it easier to find.

This removes the extra inputs in the cart, so only countries are available in the dropdown.

This works perfectly for me :-)

I hope this helps someone.

Paul




 

Magento 2 GitHub Repository

Magento Job Board - Some sort of tag line goes here

Latest Posts| View all Jobs