Hi,
The problem has been fixed for HikaMarket front-end (where the discounts should not be managed by HikaMarket, there is no vendor filter to apply).
But I could reproduced the problem in my local website, I have some idea of what could happend but I can't reproduce it.
Can you please try this code (which will replace the onSelectDiscount one).
public function onSelectDiscount(&$product, &$discountsSelected, &$discounts, $zone_id, &$parent) {
$vendor_id = (int)$product->product_vendor_id;
if($vendor_id == 0 && !empty($parent))
$vendor_id = (int)$parent->product_vendor_id;
foreach($discountsSelected as &$discountSelected) {
$this->recursiveSelectDiscount($vendor_id, $discountSelected);
}
unset($discountSelected);
}
protected function recursiveSelectDiscount($vendor_id, &$discounts) {
foreach($discounts as $k => $v) {
if(is_array($v)) {
$this->recursiveSelectDiscount($vendor_id, $discounts[$k]);
if(empty($discounts[$k]))
unset($discounts[$k]);
} else {
$discount_target = (int)$v->discount_target_vendor;
if($discount_target > 1 && $vendor_id != $discount_target)
unset($discounts[$k]);
if($discount_target == 0 && $vendor_id > 1)
unset($discounts[$k]);
}
}
}
Regards,