Hi,
First : I already said that it is possible to have shipping per vendor.
After that, with HikaMarket you can use shipping per vendor which will display the shipping selection per vendor, listing the vendor products in the shipping selection part.
So this point can't be in the top of my TODO list because it is already done.
Second : I said we will see to find a solution which will not broke the system of other users.
We can see if we can make something about that but in the first design, it was planned like that. So I don't want to change the base of the algorithm and break something for some users.
So you can edit the "administrator/components/com_hikashop/helper/helper.php" file and replace
foreach($order->products as $k => $row) {
if(!empty($rate->products) && !in_array($row->product_id, $rate->products))
continue;
if(isset($rate_prices['products'][$row->product_id])) {
$price += $rate_prices['products'][$row->product_id];
$rate_prices['products'][$row->product_id] = 0;
} elseif(isset($rate_prices['products'][$row->product_parent_id])) {
$price += $rate_prices['products'][$row->product_parent_id];
$rate_prices['products'][$row->product_parent_id] = 0;
} else {
$price += $rate_prices['price'] * $row->cart_product_quantity;
}
}
By:
foreach($order->products as $k => $row) {
if(!empty($rate->products) && !in_array($row->product_id, $rate->products))
continue;
if(isset($rate_prices['products'][$row->product_id])) {
$price += $rate_prices['products'][$row->product_id];
$rate_prices['products'][$row->product_id] = 0;
} elseif(isset($rate_prices['products'][$row->product_parent_id])) {
$price += $rate_prices['products'][$row->product_parent_id];
$rate_prices['products'][$row->product_parent_id] = 0;
} elseif(!isset($rate->shipping_params->shipping_virtual_included) || $rate->shipping_params->shipping_virtual_included || $row->product_weight > 0) {
// We don't add virtual products if they don't have a shipping price configured.
//
$price += $rate_prices['price'] * $row->cart_product_quantity;
}
}
Regards,