Ответить Новая тема Новый опрос 
 Немогу найти формулу
pickaxe
Новичок
Сообщений: 4
Регистрация: 21-06-2011


02-03-2014 05:27
Подскажите. Где, в каком файле находится формула расчета конечной стоимости товара?

Заранее спасибо.
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
RAGE
Cпециалист
Сообщений: 145
Регистрация: 11-12-2011


02-03-2014 20:24
смотри в классе товара, getPriceStatic
 
Вне форума
ПМ 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pickaxe
Новичок
Сообщений: 4
Регистрация: 21-06-2011


03-03-2014 14:33
Я возможно нашел, но смысл в чем.
Мне нужно, что бы конечная стоимость считалась от стоимости за единицу товара.
Параметр $unit_price

PHP я знаю поверхностно, простая замена переменной не помогла.
Пожалуйста, подскажите.

// Here taxes are computed only once the quantity has been applied to the product price
$price = Product::getPriceStatic(
(int)$product['id_product'],
false,
(int)$product['id_product_attribute'],
2,
null,
false,
true,
$product['cart_quantity'],
false,
(int)$this->id_customer ? (int)$this->id_customer : null,
(int)$this->id,
$address_id,
$null,
true,
true,
$virtual_context
);

$total_ecotax = $product['ecotax'] * (int)$product['cart_quantity'];
$total_price = $price * (int)$product['cart_quantity'];

if ($with_taxes)
{
$product_tax_rate = (float)Tax::getProductTaxRate((int)$product['id_product'], (int)$address_id, $virtual_context);
$product_eco_tax_rate = Tax::getProductEcotaxRate((int)$address_id);

$total_price = ($total_price - $total_ecotax) * (1 + $product_tax_rate / 100);
$total_ecotax = $total_ecotax * (1 + $product_eco_tax_rate / 100);
$total_price = Tools::ps_round($total_price + $total_ecotax, 2);
}
}
else
{
if ($with_taxes)
$price = Product::getPriceStatic(
(int)$product['id_product'],
true,
(int)$product['id_product_attribute'],
2,
null,
false,
true,
$product['cart_quantity'],
false,
((int)$this->id_customer ? (int)$this->id_customer : null),
(int)$this->id,
((int)$address_id ? (int)$address_id : null),
$null,
true,
true,
$virtual_context
);
else
$price = Product::getPriceStatic(
(int)$product['id_product'],
false,
(int)$product['id_product_attribute'],
2,
null,
false,
true,
$product['cart_quantity'],
false,
((int)$this->id_customer ? (int)$this->id_customer : null),
(int)$this->id,
((int)$address_id ? (int)$address_id : null),
$null,
true,
true,
$virtual_context
);

$total_price = Tools::ps_round($price * (int)$product['cart_quantity'], 2);
}
$order_total += $total_price;
}

$order_total_products = $order_total;

if ($type == Cart::ONLY_DISCOUNTS)
$order_total = 0;

Заранее спасибо!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pickaxe
Новичок
Сообщений: 4
Регистрация: 21-06-2011


06-03-2014 21:16
Разобрался.
Кому нужно, могу скинуть
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
zedko
Новичок
Сообщений: 60
Регистрация: 22-11-2013


07-03-2014 12:08
Мне нужно) буду благодарен!
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
pickaxe
Новичок
Сообщений: 4
Регистрация: 21-06-2011


12-03-2014 13:56
Добавляем формулу для расчета итогового значения суммы товара.
Это нужно для расчета, если вы продаете не штучный товар, а весовой (чай, кофе и т.д.).
Т.е. минимальное количество товара (minimal_quantity) - это масса товара с заданным шагом.

Файле Cart.php

В начале вводим переменную

public $unit_price;

В середине ищем $total_price

Добавляем, заменяя формулу $total_price

$unit_price = Tools::ps_round($price / (int)$product['minimal_quantity'], 2);
$total_price = Tools::ps_round($unit_price * (int)$product['cart_quantity'], 2);


Сообщение отредактировано pickaxe 12-03-2014 14:58 ...
 
Вне форума
ПМ Отправить эл.сообщение 
Щелкните, и это сообщение будет добавлено в ваш ответ как цитата Цитировать этот ответ
Ответить Новая тема Новый опрос