Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Сделать в корзине общий вывод товара и цены одновременно.

00 голосов
3
Нужно сделать что бы при выборе нажатие кнопки "в корзину" в корзине выводилось количество товаров не переходя в саму корзину, к примеру в верху шаблона должен быть компонент корзина и в нем должно выводиться "Товаров в корзине: 5" и что бы выводилась общая цена этих товаров "Цена:2999руб.".
Пытался изменять компоненты корзины, но в них нету общего вывода цены и товара.
спросил 11 Авг, 13 от Forward (120 баллов)

3 Ответы

00 голосов
Пока ну ум приходит такой костыль:
1) Подключить компонент "малая корзина".
2) Из шаблона компонента убрать все "лишнее".
3) В шаблоне пробежать по массиву всех позиций и получить сумму PRICE*QUANTITY.
4) Все.

Или мож у кого еще варианты? Буду рад совету.
ответил 11 Авг, 13 от Exolon (240 баллов)
00 голосов
Цитата
Андрей Мей пишет:
Пока ну ум приходит такой костыль:

1) Подключить компонент "малая корзина".

2) Из шаблона компонента убрать все "лишнее".

3) В шаблоне пробежать по массиву всех позиций и получить сумму PRICE*QUANTITY.


Мы эту задачу реализовали примерно также. Если кому-то интересно, код первоначального шаблона(sale.basket.basket.line):

Код
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<? 
CModule::IncludeModule("sale"); 
CModule::IncludeModule("currency"); 
$arItems = GetBasketList(); 
$num_prodcts = 0;
$allSum=0;
$quantity=0;
$separator=" ";
?>
<?

//podschet kolichestva tovarov i cummi tovarov v korzine
for ($i = 0; $i<count($arItems); $i++) 
{ 
   $num_prodcts++; 
   $allSum += ($arItems[$i]["PRICE"] * $arItems[$i]["QUANTITY"]);
   $quantity =$quantity+$arItems[$i]["QUANTITY"];
} 

//ustanovka razdelitelya dlya vivoda summi
$print_sum=(string)$allSum;
$counter = strlen($print_sum);
for($counter; $counter>=2; $counter=$counter-3)
{
   if ($print_sum{$counter}!=".")
   {
   $print_sum = substr_replace($print_sum, $separator, $counter, 0);
   }
}
?>

<div valign="top" align="left" width="225" height="99">
<table border="1" style="border-style:dotted;border-color:#ac3725;" width="225" height="99">
<tr>
   <td width="81px" height="97px" rowspan="3"><image src="<?=SITE_TEMPLATE_PATH?>/images/spacer.gif" width="81px" height="97px" /></td>
   <td align="left"><div class="gray">В корзине</div></td><td align="right"><div class="red"><a href="">
<?if($quantity>0){echo"$quantity";} else {echo'нет';}?>&nbsp;товар<?if ($quantity%10>=5 || $quantity%10==0 || ($quantity%100>11 && $quantity%100<20)) {echo 'ов';} elseif($quantity%10!==1){echo'а';}?></a></div></td>
</tr>
<tr>
   <td align="left"><div class="gray">Сумма</div></td><td align="right"><div width="50%" class="red"><?echo $print_sum?>руб.</div></td>
</tr>
<tr>
   <td colspan="2" align="right" valign="bottom">
      <a href=""><img height="18" width="81" src="<?=SITE_TEMPLATE_PATH?>/images/spacer.gif" border="0"/></a>
   </td>
</tr>
</table>
</div>
ответил 15 Окт, 13 от Realms (180 баллов)
00 голосов
Блин ....ну вот.Сталкнулся с подобной проблемой. 
Постом Дмитрия Панычева...я получил практически на 85% правильное направление.... Захотел человеку плюсик поставить :( Аннн нет не получается :(
ответил 17 Янв, 14 от Milianta (120 баллов)

Похожие вопросы

0 голосов
9 ответов
спросил 25 Апр, 13 от SlM (200 баллов)
0 голосов
2 ответов
спросил 29 Дек, 13 от OLEHATOR (100 баллов)
0 голосов
3 ответов
0 голосов
1 ответ
0 голосов
1 ответ