allef 0 Опубликовано 4 августа, 2021 Жалоба Share Опубликовано 4 августа, 2021 Доброго дня. Получилось так, что атрибутам нужно выставлять не наценку, а окончательную цену. То есть товар стоит минимум 10р. Это я указала в поле основной цены товара на вкладке Цены. Самим же атрибутам указала не +2, а сразу 12. В файлике includes/modules/product_attributes.php я расчет поправила и в карточке товара выводится та цена что мне нужно, но когда кладу в корзину все равно плюсуется основная цена и цена атрибута. Может еще где то поправить надо? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 4 августа, 2021 Жалоба Share Опубликовано 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']; } } и т.д. Лучше подумать, как сделать без правок. Потому что добавлять к + и - знак = в атрибуты. Это нужно много переписывать кода, в том числе и в админке, что б можно было выбирать = ,а не только + и - Ссылка на сообщение Поделиться на другие сайты
allef 0 Опубликовано 4 августа, 2021 Автор Жалоба Share Опубликовано 4 августа, 2021 админку я уже переделала, сделала модуль эспорта цен атрибутов из csv. а в корзине думаю просто обнулить основную цену. приравнять ее к 0 и пускай плюсуется)) просто по факту получается что когда в магазине тысяча товаров рассчитать наценку на каждый атрибут просто нечеловеческий труд выходит Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 августа, 2021 Жалоба Share Опубликовано 5 августа, 2021 20 часов назад, allef сказал: админку я уже переделала, сделала модуль эспорта цен атрибутов из csv. а в корзине думаю просто обнулить основную цену. приравнять ее к 0 и пускай плюсуется)) просто по факту получается что когда в магазине тысяча товаров рассчитать наценку на каждый атрибут просто нечеловеческий труд выходит Ну не знаю, атрибуты везде используютя и просмотре заказов в админке, в каталоге, и в корзине и т.д. и т.п. Много переделывать всего придётся и в каталоге и в админке. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения