@shvevgen
Топаешь в \system\library\cart.php
Находишь
public function getWeight() {
$weight = 0;
foreach ($this->getProducts() as $product) {
if ($product['shipping']) {
$weight += $this->weight->convert($product['weight'], $product['weight_class_id'], $this->config->get('config_weight_class_id'));
}
}
return $weight;
}
Добавляешь после(можно функцию получше написать, но лень):
public function getMaxWeight() {
$weight = 0;
foreach ($this->getProducts() as $product) {
if ($product['shipping']) {
if ($weight < $this->weight->convert($product['weight'], $product['weight_class_id'], $this->config->get('config_weight_class_id'))) {
$weight = $this->weight->convert($product['weight'], $product['weight_class_id'], $this->config->get('config_weight_class_id'));
}
}
}
return $weight;
}
Далее, топаешь в \catalog\model\shipping\dostavkaplus.php
Ищешь
$weight = $this->weight->convert($this->cart->getWeight(), $this->config->get('config_weight_class_id'), $module['weight_class_id']);
Меняешь на
$weight = $this->weight->convert($this->cart->getMaxWeight(), $this->config->get('config_weight_class_id'), $module['weight_class_id']);
Теперь в расчетах доставки должен будет использоваться не вес всей корзины, а вес самого тяжелого товара.
У себя не проверял, но должно сработать.
P.S: Лучше сделай бекап!
@louise170
Вроде не должно сломаться ? =)