Jump to content

Shipping errors need help! There is no carrier available that will deliver to this address!


Recommended Posts

Finally got to within touching distances of completing shop setup when i test purchasing on the site, and get...

There is no carrier available that will deliver to this address!

and

invalid carrier or no carrier selected

For similar items there seems to be no answer, but ive doen the following...All i want to do is add free shipping

Shipping > Handling

Handling charges:
£ 0
Free shipping starts at:
£ 0
Free shipping starts at:
kg 0
Billing: According to total price

Save

Shipping > Fees

Carrier: Original Football Shirts

Zone / Range 0£ to 99999£

United Kingdom £ 0.00

Shipping > Carriers

Company: 0

Logo:

Transit time: 1-2

URL:

Tax: NO TAZ

Zone: United Kingdom

Status: Include carrier from list of carriers on Front Office

Shipping & handling: x

Out-of-range behavior: Apply the cost of the highest defined range Disable carrier

Save

Shipping > Carriers

Default carrier: Original Football Shirts

Shipping > States

Non created

Shipping > Countries

All there

Default = United Kingdom

Shipping > Zones

United Kingdom

Shipping > Price ranges

Carrier: Original Football Shirts

From: £ 0.000

To: £ 99999.000

Shipping > Weight Ranges

Carrier: Original Football Shirts

From: KG 0.000

To: KG 99999.000

example of test customer trying to make purchase

Reditch Fanfare
John DOE
16, Main street
2nd floor
S801AZ Worksop
United Kingdom

Ive also tried to make a new customer, but asks for an alias, and there is nowhere to make an alias for them...

Please help me

Cheers
Adam

Link to comment
Share on other sites

Got the same problem when using Prestashop for the first time few days ago, here is the answer.

1. Go to shipping tab and add carrier.
2. Go to value ranges or weight ranges (if your shipping fee based on weight, well use weight ranges. In this example, I'll use weight ranges).
3. Add new weight range, fill the FROM: and TO: text box with the weight range (for this example I'll start with 0,1kg to 1kg) and save
4. Back to shipping tab, on handling section, set the radio button into According to total weight.
5. Still on shipping tab, on fees section, select your carrier, and fill the shipping fee for the weight ranges you just created previously. (set 0 if you want to give free shipping)
6. If your item is heavier than 1kg, then add new weight ranges that start from 1,1kg to whatever range you like it. And repeat the process.

I hope that can help to solve your problem (at least it works for me :D)

Link to comment
Share on other sites

  • 4 months later...

I believe this is a bug and I filed it here: http://www.prestashop.com/bug_tracker/view/4992/
Basically, when you update carrier info, PS is advancing the id_carrier on ps_carrier table and creating a new carrier duplicating values from the original row. And rest of the carrier tables don't get their id_carrier adjusted. Therefore the relationship between carries and zones is lost. It's a silly way to manage things that way, but that is what PS does. First of all they shouldn't re-insert a new carrier every time one updates it. They should just update the relevant fields in the current carrier.

It is a bug and has to be f ixed. PS team, lets stop hanging out in the bars and get back to work, ok?

Thanks,
Dbuzz.

Link to comment
Share on other sites

  • 3 weeks later...

I dont know at the moment, if there is some hidden purpose why instead of modificaiton it is deleted and recreated.
But for the moment I changed it like this, so it is now only updated and ID remains the same.
In AdminCarriers.php I changed content of /*CODE TO REPLACE*/ (in my file it begins on line 212)

/* Object update */
if (isset($id) AND !empty($id))
{
 if ($this->tabAccess['edit'] === '1')
 {
   $object = new $this->className($id);
   if (Validate::isLoadedObject($object))
   { 
      /*CODE TO REPLACE*/
   }
   else
   $this->_errors[] = Tools::displayError('an error occurred while updating object').' '.$this->table.' '.Tools::displayError('(cannot load object)');
..
..


by this code

$this->copyFromPost($object, $this->table);
$result = $object->update();
$this->changeGroups($object->id);
if (!$result)
   $this->_errors[] = Tools::displayError('an error occurred while updating object').' '.$this->table.'';
elseif ($this->postImage($object->id))
   {
       $this->changeZones($object->id);
       Tools::redirectAdmin($currentIndex.'&id;_'.$this->table.'='.$object->id.'&conf=4'.'&token;='.$this->token);
   }



Hope it helps.

Link to comment
Share on other sites

Maybe reason why it works like this is, that it should not affect already finished orders - which used just modified carrier. So old verison is still stored in database with valid data at the time of usage (but it is not possible to use it for new orders) and new modified data is created as new record.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...