MStyle28 Posted September 11, 2017 Report Share Posted September 11, 2017 Можно ли в корзине вывести рядом с итоговой ценой,вывести цену без учёта старых цен товаров,если такие есть. К примеру в корзине 1 товар,у него цена 2000 руб. и старая цена 3000 руб.Итоговая цена будет: 2000 руб.Итоговая по старым ценам будет 3000руб. Quote Link to post Share on other sites
artbykoff Posted September 11, 2017 Report Share Posted September 11, 2017 Можно, так как данные по старой и новой цене хранятся в БД сайта, а дальше с ними можно делать что угодно. Quote Link to post Share on other sites
Noxter Posted September 11, 2017 Report Share Posted September 11, 2017 Либо в шаблоне умножить на кол-во далее сплюсовать товары, либо сделать это в api/Cart.php смотрите как сделан подсчет корзины. Quote Link to post Share on other sites
MStyle28 Posted September 11, 2017 Author Report Share Posted September 11, 2017 Либо в шаблоне умножить на кол-во далее сплюсовать товары, либо сделать это в api/Cart.php смотрите как сделан подсчет корзины.Первый вариант не подскажите как реализовать? Quote Link to post Share on other sites
Noxter Posted September 11, 2017 Report Share Posted September 11, 2017 Первый вариант не подскажите как реализовать?Смотрите как это сделано в cart.tpl. Quote Link to post Share on other sites
MStyle28 Posted September 11, 2017 Author Report Share Posted September 11, 2017 Смотрите как это сделано в cart.tpl.В корзине вывод просто через {$cart->total_price} Quote Link to post Share on other sites
Noxter Posted September 11, 2017 Report Share Posted September 11, 2017 В корзине вывод просто через {$cart->total_price} Вы не туда смотрите, смотрите где цена множится на кол-во, точно такое же есть в api/Cart.php. Quote Link to post Share on other sites
MStyle28 Posted September 12, 2017 Author Report Share Posted September 12, 2017 (edited) Вы не туда смотрите, смотрите где цена множится на кол-во, точно такое же есть в 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} Edited September 12, 2017 by MStyle28 Quote Link to post Share on other sites
loxter Posted September 12, 2017 Report Share Posted September 12, 2017 Интересно, и как это будет использоваться дальше?Например, в корзине 2 товара, у одного цена 1000, старая - 1500, а у другого цена 1000, старой нет.И под каким соусом будете показывать в корзине {$cart->total_compare_price|convert}? Что пользователь увидит и какую информацию должно ему давать выведенное значение ? Quote Link to post Share on other sites
MStyle28 Posted September 12, 2017 Author Report Share Posted September 12, 2017 Интересно, и как это будет использоваться дальше?Например, в корзине 2 товара, у одного цена 1000, старая - 1500, а у другого цена 1000, старой нет.И под каким соусом будете показывать в корзине {$cart->total_compare_price|convert}? Что пользователь увидит и какую информацию должно ему давать выведенное значение ? Действительно не правильно считает.Должно работать так,в корзине есть 2 товара:1 товар - цена - 2000 - старая цена 30002 товар - цена - 2000 - старой цены нет В итоге должно выдать 5000,то есть старая цена первого товара и новая цена второго,так как старой нет.Но сейчас получается не учитывается наличие старой цены,и в данном примере выводит просто 3000. Quote Link to post Share on other sites
Kosjak76 Posted September 12, 2017 Report Share Posted September 12, 2017 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; Quote Link to post Share on other sites
MStyle28 Posted September 12, 2017 Author Report Share Posted September 12, 2017 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;Спасибо большое,теперь работает! Quote Link to post Share on other sites
loxter Posted September 12, 2017 Report Share Posted September 12, 2017 Другой пример. В корзине 2 товара, оба по цене 1000, старой нет у обоих.Опять тот же вопрос: в каком виде будете показывать в корзине {$cart->total_compare_price|convert} и что пользователь должен понять, увидев выведенное значение ? Quote Link to post Share on other sites
MStyle28 Posted September 13, 2017 Author Report Share Posted September 13, 2017 Другой пример. В корзине 2 товара, оба по цене 1000, старой нет у обоих.Опять тот же вопрос: в каком виде будете показывать в корзине {$cart->total_compare_price|convert} и что пользователь должен понять, увидев выведенное значение ? Да,опять баг,выводит обычную итоговую цену.Получается нужно писать условие,если в корзине ни один товар не имеет старой цены то не выводить,верно? Quote Link to post Share on other sites
Kosjak76 Posted September 13, 2017 Report Share Posted September 13, 2017 Проще сравнить $cart->total_compare_price и $cart->total_priceИ если они РАЗНЫЕ - то выводить Quote Link to post Share on other sites
MStyle28 Posted September 13, 2017 Author Report Share Posted September 13, 2017 Проще сравнить $cart->total_compare_price и $cart->total_priceИ если они РАЗНЫЕ - то выводитьТакое условие будет верным? {if $cart->total_compare_price > $cart->total_price} {$cart->total_compare_price|convert} {$currency->sign} {/if} Quote Link to post Share on other sites
Kosjak76 Posted September 13, 2017 Report Share Posted September 13, 2017 Да, а почему нет? Quote Link to post Share on other sites
MStyle28 Posted September 13, 2017 Author Report Share Posted September 13, 2017 Да, а почему нет?Возможно прописать это условие на уровне php? Quote Link to post Share on other sites
Noxter Posted September 13, 2017 Report Share Posted September 13, 2017 Возможно прописать это условие на уровне php? if($cart->total_compare_price > $cart->total_price) { $this->design->assign('var', $cart->total_compare_price); } Quote Link to post Share on other sites
MStyle28 Posted September 13, 2017 Author Report Share Posted September 13, 2017 if($cart->total_compare_price > $cart->total_price) { $this->design->assign('var', $cart->total_compare_price); } Спасибо. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.