How would I change the free shipping model to be based on total weight rather than total price?
I know you can do it in weight based shipping but I'm using that for something else. Bit complicated to explain.
Ideally, after setting the value to "1000" in Free shipping Module, I want it to check if the total weight is "1000" not the total price.
Here is the codel from catalog/shipping/free.php
Code: Select all
<?php
class ModelShippingFree extends Model {
function getQuote($address) {
$this->language->load('shipping/free');
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "zone_to_geo_zone WHERE geo_zone_id = '" . (int)$this->config->get('free_geo_zone_id') . "' AND country_id = '" . (int)$address['country_id'] . "' AND (zone_id = '" . (int)$address['zone_id'] . "' OR zone_id = '0')");
if (!$this->config->get('free_geo_zone_id')) {
$status = true;
} elseif ($query->num_rows) {
$status = true;
} else {
$status = false;
}
if ($this->cart->getSubTotal() < $this->config->get('free_total')) {
$status = false;
}
$method_data = array();
if ($status) {
$quote_data = array();
$quote_data['free'] = array(
'code' => 'free.free',
'title' => $this->language->get('text_description'),
'cost' => 0.00,
'tax_class_id' => 0,
'text' => $this->currency->format(0.00)
);
$method_data = array(
'code' => 'free',
'title' => $this->language->get('text_title'),
'quote' => $quote_data,
'sort_order' => $this->config->get('free_sort_order'),
'error' => false
);
}
return $method_data;
}
}
?>