allef 0 Posted August 4, 2021 Report Share Posted August 4, 2021 Доброго дня. Получилось так, что атрибутам нужно выставлять не наценку, а окончательную цену. То есть товар стоит минимум 10р. Это я указала в поле основной цены товара на вкладке Цены. Самим же атрибутам указала не +2, а сразу 12. В файлике includes/modules/product_attributes.php я расчет поправила и в карточке товара выводится та цена что мне нужно, но когда кладу в корзину все равно плюсуется основная цена и цена атрибута. Может еще где то поправить надо? Link to post Share on other sites
support 447 Posted August 4, 2021 Report Share Posted August 4, 2021 38 минут назад, allef сказал: Доброго дня. Получилось так, что атрибутам нужно выставлять не наценку, а окончательную цену. То есть товар стоит минимум 10р. Это я указала в поле основной цены товара на вкладке Цены. Самим же атрибутам указала не +2, а сразу 12. В файлике includes/modules/product_attributes.php я расчет поправила и в карточке товара выводится та цена что мне нужно, но когда кладу в корзину все равно плюсуется основная цена и цена атрибута. Может еще где то поправить надо? Здравствуйте! Это надо наверное править код в /includes/classes/shopping_cart.php Пример: // attributes price $attribute_price = 0; if (isset ($this->contents[$products_id]['attributes'])) { foreach ($this->contents[$products_id]['attributes'] as $option => $value) { $values = $vamPrice->GetOptionPrice($product['products_id'], $option, $value); $this->weight += $values['weight'] * $qty; $this->total += $values['price'] * $qty; $this->qty += $qty; $attribute_price+=$values['price']; } } Так работают атрибуты. Атрибуты это лишь + или - Но не = Можно лишь добавлять или отнимать от основной цены. Но не делать знак = основной цене. По умолчанию такой возможности нет. Только переписывать код как минимум в /includes/classes/shopping-cart.php // attributes price $attribute_price = 0; if (isset ($this->contents[$products_id]['attributes'])) { foreach ($this->contents[$products_id]['attributes'] as $option => $value) { $values = $vamPrice->GetOptionPrice($product['products_id'], $option, $value); $this->weight += $values['weight'] * $qty; $this->total += $values['price'] * $qty; $this->qty += $qty; $attribute_price+=$values['price']; } } и т.д. Лучше подумать, как сделать без правок. Потому что добавлять к + и - знак = в атрибуты. Это нужно много переписывать кода, в том числе и в админке, что б можно было выбирать = ,а не только + и - Link to post Share on other sites
allef 0 Posted August 4, 2021 Author Report Share Posted August 4, 2021 админку я уже переделала, сделала модуль эспорта цен атрибутов из csv. а в корзине думаю просто обнулить основную цену. приравнять ее к 0 и пускай плюсуется)) просто по факту получается что когда в магазине тысяча товаров рассчитать наценку на каждый атрибут просто нечеловеческий труд выходит Link to post Share on other sites
support 447 Posted August 5, 2021 Report Share Posted August 5, 2021 20 часов назад, allef сказал: админку я уже переделала, сделала модуль эспорта цен атрибутов из csv. а в корзине думаю просто обнулить основную цену. приравнять ее к 0 и пускай плюсуется)) просто по факту получается что когда в магазине тысяча товаров рассчитать наценку на каждый атрибут просто нечеловеческий труд выходит Ну не знаю, атрибуты везде используютя и просмотре заказов в админке, в каталоге, и в корзине и т.д. и т.п. Много переделывать всего придётся и в каталоге и в админке. Link to post Share on other sites
Recommended Posts