I have, and it doesn't seem to be the same as the weight-based system. When I tried using Zone based shipping, I would specify that one pound would cost $2. If I added an item that weighed, lets say, 0.5 lbs, it would still charge $2 when I only needed $1.
Has anyone found a solution?
The weightbased thing doesn't seem to work at all for me. I set the weight-based cost per unit thing to £1 per 100 grams (1.00:100?), I have items set at a weight of 500 grams.. yet the shipping comes to £1.00... when it should come to £5.00.
Surely i must be doing something wrong.. i can't imagine a module to be released if it doesn't actually work..
Please help..
Thanks
The weightbased thing doesn't seem to work at all for me. I set the weight-based cost per unit thing to £1 per 100 grams (1.00:100?), I have items set at a weight of 500 grams.. yet the shipping comes to £1.00... when it should come to £5.00.
Surely i must be doing something wrong.. i can't imagine a module to be released if it doesn't actually work..
Please help..
Thanks
---------------------Daniel wrote: Have you tried the zone based shipping?
it calcualtes weight:cost,weight:cost etc..
EDIT: - I checked the code (a few posts below) - and it does use <=
Sorry for any confusion
Zone based shipping works pretty well.
The logic is simple. For example:
2:5,5:10
This means - that if product weight units in the cart add up to 2 or less - the shipping price will be 5 currency units
If product weight units in the cart add up to 5 or less - the shipping price will be 10 currency units
The only problem is - if total weight units in the cart will add up to more than 5 - the shipping price will be 0.
More about that a few posts below.
Sorry for any confusion again - this is about zone based shipping.
-----------------------
In my case I wanted a flat price for each zone, no matter how much weight products will add-up to. So I specified 0 as product weight and specified price for zone as:
0:15
Now just some ideas - NOTE - system does NOT work like that at the moment:
For those that want shipping price to be per weight unit (for example per pound or per 50 grams..) - the expression should probably be something like:
1x10
meaning weight units multiplied by currency units. Just an idea...
Most often though - shiping costs are based by weight limits. Like post office charges $5 for everything up to pound.
Of course - there maybe a need for combination of both. Say - $5 for everything up to a pound and then $1 for every pound on top of that. We could express it like 1:5+1x1
Last edited by gary on Fri Nov 16, 2007 1:09 am, edited 1 time in total.
well, I cannot try it now - but when I was testing with weight cost - it only worked if weight matched exactly. I will have to try it again.salmoon wrote: Gary,
For me zone shipping works different to how you described. If i set 1.00:200,2.00:300 etc then the cost of shipping is 1.00 if weight is between 0 and 200 grams, or 2.00 if weight is between 201 and 300 grams.
Also - I thought you have to specify it like weight:cost, not cost:weight
EDIT: sorry - I was talking about zone based shipping. Also - I re-tested - it works as I described a few posts up.
Last edited by gary on Fri Nov 16, 2007 1:10 am, edited 1 time in total.
I believe the error is coming from here in the catalog/extension/shipping/weight.php
-JO
My php skills are not quite where they need to be .. Maybe somebody with more know how could take a look at this.
$quote_data['weight'] = array(
'id' => 'weight_weight',
'title' => $this->language->get('text_weight_description'),
'cost' => $this->config->get('weight_cost') * $this->cart->countProducts(),
'text' => $this->currency->format($this->tax->calculate($this->config->get('weight_cost') * $this->cart->getWeight(), $this->config->get('weight_tax_class_id'), $this->config->get('config_tax')))
);
-JO
Last edited by JohnnyO on Thu Nov 15, 2007 11:29 am, edited 1 time in total.
If you make it idiot proof, they will just build a better idiot.
it is in catalog/extension/shipping/zone.php
EDIT: sorry - this is zone based shipping, not weight based. I did not try weight based mod.
$cost = 0;
$rates = explode(',', $this->config->get('zone_' . $result['geo_zone_id'] . '_cost'));
foreach ($rates as $rate) {
$array = explode(':', $rate);
if ($this->cart->getWeight() config->get('zone_' . $result['geo_zone_id'] . '_cost'));
$highestrate = 0;
foreach ($rates as $rate) {
$array = explode(':', $rate);
if ($highestrate cart->getWeight() <= $array[0]) {
$cost = @$array[1];
break;
}
}
if ($cost == 0) {
$cost = $highestrate;
}
EDIT: sorry - this is zone based shipping, not weight based. I did not try weight based mod.
Last edited by gary on Fri Nov 16, 2007 12:38 am, edited 1 time in total.
i fixed this problem on my site. here's my code.
/catalog/extension/shipping/weight.php
/catalog/extension/shipping/weight.php
Code: Select all
//'cost' => $this->config->get('weight_cost') * $this->cart->countProducts(),
'cost' => $this->config->get('weight_cost') * $this->cart->getWeight(),
Thx u so much!!!!drewxhawaii wrote: i fixed this problem on my site. here's my code.
/catalog/extension/shipping/weight.phpCode: Select all
//'cost' => $this->config->get('weight_cost') * $this->cart->countProducts(), 'cost' => $this->config->get('weight_cost') * $this->cart->getWeight(),
Who is online
Users browsing this forum: No registered users and 18 guests