Перейти к содержанию
Официальный форум поддержки Simpla

Итоговая цена в корзине с учетом старых цен товара


Рекомендуемые сообщения

Можно ли в корзине вывести рядом с итоговой ценой,вывести цену без учёта старых цен товаров,если такие есть.

 

К примеру в корзине 1 товар,у него цена 2000 руб. и старая цена 3000 руб.

Итоговая цена будет: 2000 руб.

Итоговая по старым ценам будет 3000руб.

 

Ссылка на сообщение
Поделиться на другие сайты

Можно, так как данные по старой и новой цене хранятся в БД сайта, а дальше с ними можно делать что угодно.

Ссылка на сообщение
Поделиться на другие сайты

Либо в шаблоне умножить на кол-во далее сплюсовать товары, либо сделать это в api/Cart.php смотрите как сделан подсчет корзины.

Ссылка на сообщение
Поделиться на другие сайты

Либо в шаблоне умножить на кол-во далее сплюсовать товары, либо сделать это в api/Cart.php смотрите как сделан подсчет корзины.

Первый вариант не подскажите как реализовать?

Ссылка на сообщение
Поделиться на другие сайты

В корзине вывод просто через

{$cart->total_price}

 

 

Вы не туда смотрите, смотрите где цена множится на кол-во, точно такое же есть в api/Cart.php.
Ссылка на сообщение
Поделиться на другие сайты

Вы не туда смотрите, смотрите где цена множится на кол-во, точно такое же есть в api/Cart.php.

 

Разобрался,спасибо что подтолкнули в верном направлении.

 

Может кому понадобится,в файле /api/Cart.php находим:

$cart->total_price += $item->variant->price*$item->amount;

после вставляем:

$cart->total_compare_price += $item->variant->compare_price*$item->amount;

В cart.tpl или cart_informer.tpl выводим:

{$cart->total_compare_price|convert}
Изменено пользователем MStyle28
Ссылка на сообщение
Поделиться на другие сайты

Интересно, и как это будет использоваться дальше?

Например, в корзине 2 товара, у одного  цена 1000, старая - 1500, а у другого цена 1000, старой нет.

И под каким соусом будете показывать в корзине {$cart->total_compare_price|convert}? Что пользователь увидит и какую информацию должно ему давать выведенное значение ? 

Ссылка на сообщение
Поделиться на другие сайты

Интересно, и как это будет использоваться дальше?

Например, в корзине 2 товара, у одного  цена 1000, старая - 1500, а у другого цена 1000, старой нет.

И под каким соусом будете показывать в корзине {$cart->total_compare_price|convert}? Что пользователь увидит и какую информацию должно ему давать выведенное значение ? 

Действительно не правильно считает.

Должно работать так,в корзине есть 2 товара:

1 товар - цена - 2000 - старая цена 3000

2 товар - цена - 2000 - старой цены нет

 

В итоге должно выдать 5000,то есть старая цена первого товара и новая цена второго,так как старой нет.

Но сейчас получается не учитывается наличие старой цены,и в данном примере выводит просто 3000.

Ссылка на сообщение
Поделиться на другие сайты

if($item->variant->compare_price > 0)

$cart->total_compare_price += $item->variant->compare_price*$item->amount;

else

$cart->total_compare_price += $item->variant->price*$item->amount;

Ссылка на сообщение
Поделиться на другие сайты

if($item->variant->compare_price > 0)

$cart->total_compare_price += $item->variant->compare_price*$item->amount;

else

$cart->total_compare_price += $item->variant->price*$item->amount;

Спасибо большое,теперь работает!

Ссылка на сообщение
Поделиться на другие сайты

Другой пример. В корзине 2 товара, оба по цене 1000, старой нет у обоих.

Опять тот же вопрос: в каком виде будете показывать в корзине {$cart->total_compare_price|convert} и что пользователь  должен понять, увидев выведенное значение ? 

Ссылка на сообщение
Поделиться на другие сайты

Другой пример. В корзине 2 товара, оба по цене 1000, старой нет у обоих.

Опять тот же вопрос: в каком виде будете показывать в корзине {$cart->total_compare_price|convert} и что пользователь  должен понять, увидев выведенное значение ? 

Да,опять баг,выводит обычную итоговую цену.

Получается нужно писать условие,если в корзине ни один товар не имеет старой цены то не выводить,верно?

Ссылка на сообщение
Поделиться на другие сайты

Проще сравнить $cart->total_compare_price и $cart->total_price

И если они РАЗНЫЕ - то выводить

Такое условие будет верным? 

{if $cart->total_compare_price > $cart->total_price}
{$cart->total_compare_price|convert} {$currency->sign}
{/if}
Ссылка на сообщение
Поделиться на другие сайты

Возможно прописать это условие на уровне php?

if($cart->total_compare_price > $cart->total_price)
{
$this->design->assign('var', $cart->total_compare_price);
}
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...