Save a copy of the file:
/includes/classes/shopping_cart.php
Now edit the file and change this section of code around line 526:
Code:
// bottom total
// if ($attribute_price->fields['product_attribute_is_free']) {
if ($attribute_price->fields['product_attribute_is_free'] == '1' and zen_get_products_price_is_free((int)$prid)) {
// no charge for attribute
} else {
// + or blank adds
if ($attribute_price->fields['price_prefix'] == '-') {
if ($attribute_price->fields['attributes_discounted'] == '1') {
// calculate proper discount for attributes
$new_attributes_price = zen_get_discount_calc($product->fields['products_id'], $attribute_price->fields['products_attributes_id'], $attribute_price->fields['options_values_price'], $qty);
$this->total -= $qty * zen_add_tax( ($new_attributes_price), $products_tax);
// Fix Table Price comment out line below
// $this->free_shipping_price -= $qty * zen_add_tax( ($new_attributes_price), $products_tax);
} else {
$this->total -= $qty * zen_add_tax($attribute_price->fields['options_values_price'], $products_tax);
}
} else {
// Fix Table Price add IF statement below
// appears to confuse products priced by attributes
if ($product->fields['product_is_always_free_shipping'] == '1' or $product->fields['products_virtual'] == '1') {
$shipping_attributes_price = zen_get_discount_calc($product->fields['products_id'], $attribute_price->fields['products_attributes_id'], $attribute_price->fields['options_values_price'], $qty);
$this->free_shipping_price += $qty * zen_add_tax( ($shipping_attributes_price), $products_tax);
}
if ($attribute_price->fields['attributes_discounted'] == '1') {
// calculate proper discount for attributes
$new_attributes_price = zen_get_discount_calc($product->fields['products_id'], $attribute_price->fields['products_attributes_id'], $attribute_price->fields['options_values_price'], $qty);
$this->total += $qty * zen_add_tax( ($new_attributes_price), $products_tax);
// Fix Table Price comment out line below
// $this->free_shipping_price += $qty * zen_add_tax( ($new_attributes_price), $products_tax);
} else {
$this->total += $qty * zen_add_tax($attribute_price->fields['options_values_price'], $products_tax);
}
}
////////////////////////////////////////////////
I commented the changes so I hope it helps you make them ...
See if this fixes the Attribute Pricing for the Table Rates ...