Подарок

В Битрикс можно выбирать подарок к покупке текущего товара.

Bitrix. Подарок

Подарок создаётся в МаркетингТоварный маркетинг → Правила работы с корзиной.

Во вкладке Действия и условия надо выбрать действие Предоставить подарок и выбрать товары, которые будут доступны как подарок.

Bitrix. Предоставить подарок

И выбрать условие ТоварыТовар, где можно выбрать товары, к которым будут предоставляться подарки.

Bitrix. Предоставить подарок

В шаблоне по умолчанию подарок можно выбрать на странице товара, или в корзине.

Подарок выводится через комонент bitrix:sale.products.gift. Пример вызова компонента:

# TEMPLATE/components/bitrix/catalog.element/templates/.default/template.php
$APPLICATION->IncludeComponent(
    'bitrix:sale.products.gift',
    '',
    array(
        'PRODUCT_ID_VARIABLE' => 'id',
        'DEFERRED_PRODUCT_ROW_VARIANTS' => '[{"VARIANT":3,"BIG_DATA":false}]',
        'DEFERRED_PAGE_ELEMENT_COUNT' => '4',
        'PRODUCT_DISPLAY_MODE' => 'Y',
        'SHOW_PRODUCTS_'.$arParams['IBLOCK_ID'] => 'Y',
        'PRICE_CODE' => array('BASE'),
        'POTENTIAL_PRODUCT_TO_BUY' => array(
            'MODULE' => 'catalog',
            'PRODUCT_PROVIDER_CLASS' => '\Bitrix\Catalog\Product\CatalogProvider',
            'SECTION' => array(
                'ID' => $arResult['SECTION']['ID'],
                'IBLOCK_ID' => $arResult['SECTION']['IBLOCK_ID'],
                'LEFT_MARGIN' => $arResult['SECTION']['LEFT_MARGIN'],
                'RIGHT_MARGIN' => $arResult['SECTION']['RIGHT_MARGIN'],
            ),
        ),
    )
);