Выдвигающаяся боковая корзина на битрикс
Возможно ли реализовать выдвигающуюся корзину похожую на эту?
Понимаю, что можно использовать ajax, примерно накидал обработчик:
BX.addCustomEvent('OnBasketRefresh',function(result){
var options = {
url: '<?=$templateFolder?>/ajax/add2basket.php',
type: "POST",
target: '<?=$cartId?>',
processData: false,
success:
function(res) {
console.log('result: ', res);
$.jGrowl("Товар добавлен в заказ");
}
};
$(".add_form").ajaxForm(options);
})
Вот сам код шаблона данной корзины
<? foreach ($arResult["ITEMS"] AS $arItem): ?>
<?
$PR = $arItem['PR'];
$basket = $arResult['DATA']['items'][$arItem['ID']];
?>
<? endforeach;?>
<div class="basket-list d-flex w-100 flex-column align-items-start justify-content-start">
<div class="d-flex w-100 flex-row justify-content-start mt-3">
<div class="col-lg-3 col-4 d-flex justify-content-start align-items-center ">
<h4 class="form-title text-start mt-2 ms-2" id="basket-list">Корзина</h4>
</div>
<div class="col-lg-2 col-2 d-flex justify-content-start align-items-center">
<button class="ms-3 btn-nav btn-nav-trash d-flex align-items-center justify-content-center">
<img class="btn-nav-trash" src="<?=SITE_TEMPLATE_PATH?>/layout/images/icons/basket-refresh.png" height="20"
width="20" />
</button>
</div>
<div class="col-lg-7 col-6 d-flex justify-content-end align-items-center">
<button class="ms-3 btn-nav btn-nav-close d-flex align-items-center justify-content-center">
<img class="btn-nav-close" src="<?=SITE_TEMPLATE_PATH?>/layout/images/icons/close.png" height="20"
width="20" />
</button>
</div>
</div>
<div class="bue-sum mt-3 d-flex row align-items-center justify-content-center">
<div class="col-lg-6 col-6 d-flex justify-content-start align-items-center"><label class="mb-0">К
оплате:</label></div>
<div class="col-lg-6 col-6 d-flex justify-content-end align-items-center">
<label class="mb-0 total-price">
<?=$arResult['DATA']['price']?>
</label>
</div>
</div>
<?if(count($arResult['ITEMS']) <= 0):?>
<span class="mt-5 ms-3">Товаров пока нет</span>
<?else:?>
<div data-simplebar class="table-wrapper w-100">
<table class="basket-list mt-4 w-100">
<thead>
<tr>
<th><span>Название</span></th>
<th class="text-center "><span>Кол-во</span></th>
<th class="text-end"><span>Цена</span></th>
<th class="text-end"></th>
</tr>
</thead>
<tbody class="basket-list-items">
<? foreach($arResult['ITEMS'] AS $arItem):
$PR = $arItem['PR'];
$basket = $arResult['DATA']['items'][$arItem['ID']];
?>
<tr data-basket-product-id="<?=$arItem['ID']?>">
<td>
<div class="d-flex flex-row align-items-center basket-item">
<img class="food-img" src="<?= $PR['PREVIEW_PICTURE'] ?>" height="50" width="90" />
<div class="d-flex flex-column justify-content-center ms-2">
<span><?=$PR['NAME']?></span>
<span class="pb-0"><?= $PR['PROPS'] ?></span>
</div>
</div>
</td>
<td class="d-flex align-items-center justify-content-center">
<form data-product-quantity="<?=$arItem['ID']?>" class="d-flex flex-row justify-content-center">
<div class="d-flex flex-row align-items-center">
<button data-product-quantity-control="minus" data-send="form" class="basket-count-btn d-flex align-items-center justify-content-center minus-btn">
<i class="menu-icon fa-solid fa-minus"></i>
</button>
<div class="mx-3">
<span data-product-quantity="placeholder" class="items-count"><?=$basket['quantity'] ?? 0?></span>
</div>
<button class="basket-count-btn d-flex align-items-center justify-content-center plus-btn">
<i class="menu-icon fa-solid fa-plus "></i>
</button>
<input type="hidden" name="quantity" value="<?=$basket['quantity'] ?? 0?>">
<input type="hidden" name="id" value="<?=$arItem['ID']?>">
<input type="hidden" name="type" value="basketAddAction">
</div>
</form>
</td>
<td>
<h6 data-product-price-total="<?=$arItem['ID']?>" class="text-end price mb-0"><?=$basket['price_total'] ?? 0?> р</h6>
</td>
</tr>
<? endforeach;?>
<?endif?>
</tbody>
</table>
</div>
Суть в том, что я не понимаю, что нужно прописывать в add2basket.php, смотрел в интернете и там в основном используют модуль битрикса sale, но есть загвоздка в том что, ранее был Корпоративный сайт, и данного модуля нету (делал не я приходится плясать от того что есть) Подскажите, пожалуйста, какие-нибудь источники или решение данного вопроса. Заранее благодарю за ответ.
Источник: Stack Overflow на русском