Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Добавление вариантов товара в корзину в списке товаров

20.11.2015, 22:40
Гость
Гость

Здравствуйте!
Пытаюсь сделать в ИМ так, чтобы в списке товаров, у каждого товара выводились варианты товара и чтобы можно было добавить в корзину варианты.
Вывести в списке товаров, в блоке каждого товара, его варианты получилось.
Вывод сделал с помощью переключателей. Выводится нужный параметр варианта и цена.
Но в корзину добавляется только основной товар, варианты не добавляются почемуто.
Код объект в списке:
Код:
					<article>
<!-- Карточка-->
<div class="col-sm-12 product_item thumbnail"> <? if ($admin_mode) { echo "<div class='tpl-block-admin'>$f_AdminButtons</div>"; } ?>
<?
$item = new nc_netshop_item($res[$f_RowNum]);
?> <?= nc_netshop_item_variant_admin_table($item); ?>

<? $selectors = new nc_netshop_item_variant_selector($item, array('Dlina', 'Price'));
// Подключение скрипта загрузки информации о вариантах (расположено вне .tpl-variable-part)
$selectors = new nc_netshop_item_variant_selector($item, array_keys($variant_fields));
echo $selectors->init(array(
'on_update' => 'window.tpl_init_content && tpl_init_content()',
));
?>
<div class="col-sm-3 product_item_img">
<figure>
<a href="<?=$fullLink;?>">
<img src="<?= $item['Image']; ?>" alt=""/>
</a>
</figure>
</div>
<div class="col-sm-9">
<div class="caption">
<header class="tpl-block-list-object">
<h4><a href="<?= $fullLink; ?>"><?= $item['Name']; ?></a> <small>Артикул:<?= $item['Article']; ?></small></h4>
</header>
<?php
$property_fields = $nc_core->get_component($classID)->get_fields_by_name_prefix('Property_');
$properties = array();
foreach ($property_fields as $f) {
$property_value = $item[$f['name']];
if (is_scalar($property_value) && !strlen($property_value)) {
continue;
}

if (is_array($property_value)) {
$property_value = join(', ', $property_value);
}

if ($f['type'] == NC_FIELDTYPE_BOOLEAN) {
$property_value = $property_value ? 'да' : 'нет';
}

$properties[$f['description']] = $property_value;
}
$num_properties = count($properties);
?>
<? if ($num_properties){?>
<div class="col-sm-6">

<p>
<table class="table table-condensed table-striped">
<?php
$num_columns = 2;
$per_column = ceil($num_properties / $num_columns);
$i = 0;
foreach ($properties as $property_description => $property_value) {

echo '<tr><td>' . $property_description . '</td><td>' . $property_value . '</td></tr>';
++$i;
}
?>
</table>
</p>
</div>
<?}?>
<div class="col-sm-5 col-md-offset-1 ">
<form role="form" class="tpl-variable-part" action="<?= $netshop->get_add_to_cart_url() ?>" method="post">
<input type="hidden" name="redirect_url" value=""/>
<input type="hidden" name="cart_mode" value="add"/>
<table class="table table-hover table-condensed tableprice table-responsive text-justify">
<?php
$variants = $item["_Variants"]->where('StockUnits', '0', '!==');
$i = 0;
foreach ($variants as $variant) {
echo '<tr><td>',
'<label>',
'<input type="radio" name="items[]" value="' . $variant["_ItemKey"] . '"' .
($i++ == 0 ? " checked" : "") . '> ',
$variant['Dlina'],
'<span>',
$variant['ItemPriceF'],
'</span>',
'</label>',
'</td></tr>';
}
?>
</table>
<? if (($item['Checked'] && $item['StockUnits'] !== '0')){ ?>



<input type="text" name="cart<?= $item['RowID'] ?>" class="spinner" value="1" data-units="<?= htmlspecialchars($item['Units']) ?>" /><button type="submit" class="btn btn-primary btn-sm" role="button">В корзину</button>
<?}?>
</form>
</div>
</div>
</div>
</div>
</article>

помогите исправить ошибку.
Спасибо!
23.11.2015, 20:08
Гость
Гость

Бьюсь третий день - стандартными средствами что-то не получается, не силён я в js.
А вообще это возможно - добавление вариантов товара в корзину на странице с листингом товаров? без загрузки вариантов в модальное окно? Если да, то подскажите куда копать и как можно решить эту задачку.
идея такая:
Выводить на странице со списком товаров, варианты каждого товара с ценой в виде переключателей, поле для ввода количества и кнопку "в корзину". Чтобы можно было сразу увидеть возможные варианты товара (размеры), их цену и заказать. Чтобы не переходить каждый раз на подробную страницу товара.
Пока только получилось реализовать добавление вариантов в корзину на подробной странице описания товара.
Но повторить это на странице с листингом товаров не получается: в корзину добавляется только основной (первый) товар. В поле для ввода количества добавляемого товара не изменяется значение name="cart[ХХХХ][Y]" отвечающее, как я понял, за идентификацию добавляемого товара.
198 196 2015-11-23 20:08:11 14357
Описание проекта