Добрый день.
Это совсем не сложно, так что в маркетплейсе решения не будет.
Суть примерно такая - в карточке вам надо что-то типа списка чекбоксов с ID товаров для добавления в корзину -
<input type='checkbox' name='product[]' value='1'>
А на странице, обрабатывающий SUBMIT кнопки покупки, пройти по $_REQUEST['product'] и сделать Add2BasketByProductID.
int Add2BasketByProductID( $PRODUCT_ID, $QUANTITY = 1, $arRewriteFields = array(), $arProductParams = false);
Функция добавляет в корзину товар с кодом PRODUCT_ID в количестве QUANTITY единиц (по умолчанию одну штуку) и возвращает код позиции товара в корзине. Функция является оберткой надCSaleBasket::Add, но при этом размещена в модуле Торгового каталога.
<form action="<?=$arResult["DETAIL_PAGE_URL"]?>" method="post">
<!-- поля (цена, имя товара, свойства) -->
<!-- ИД торгового предложения -->
<input type="checkbox" name="id" value="152" id="product-id">
<input type="checkbox" name="id" value="155" id="product-id">
<input type="hidden" name="action" value="BUY">
<input type="submit" value="КУПИТЬ" name="actionADD2BASKET">
</form>
Но у меня добавляет, если я выберу все чекбоксы, только первый. Или я что то не так делаю?