Сделать корзину в Битрикс через ajax
5 000 руб. за проект
Нужно добавить в корзине удаление и изменения кол-ва и общей суммы через ajax.
Точнее корзины запланировано 2 штуки, одна мини другая основная.
Сами позиции выводятся.
Шаблоны кастомные, точнее их нет.
<?php
use Bitrix\Main\Loader;
if (Loader::includeModule('sale') && Loader::includeModule('iblock')) {
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
);
$basketItems = $basket->getBasketItems();
$totalPrice = $basket->getPrice(); // Общая сумма корзины
?>
<ul class="header-basket__list list-reset" data-simplebar>
<?php foreach ($basketItems as $basketItem) : ?>
<?php
$basketItemId = $basketItem->getId(); // ID товара в корзине
$productId = $basketItem->getProductId(); // ID товара
$res = CIBlockElement::GetList(
[],
['ID' => $productId],
false,
false,
['ID', 'IBLOCK_ID', 'NAME', 'PREVIEW_PICTURE']
);
if ($item = $res->Fetch()) {
$imageId = $item['PREVIEW_PICTURE'];
$imageSrc = CFile::GetPath($imageId);
} else {
$imageSrc = ''; // Установите пустой путь или путь по умолчанию, если изображение не найдено.
}
?>
<li class="header-basket__item" id="product_<?php echo $productId; ?>">
<article class="product-card product-card--basket">
<div class="product-card__inner">
<picture class="product-card__pic">
<img class="product-card__img" loading="lazy" src="<?php echo $imageSrc; ?>" width="60" height="60" alt="">
</picture>
<div class="product-card__box">
<h3 class="product-card__title">
<a class="product-card__link" href="#"><?php echo $basketItem->getField('NAME'); ?></a>
</h3>
и т.д.
Вот сюда добавить ajax на удаление и изменение кол-во товаров в корзине.
Точнее корзины запланировано 2 штуки, одна мини другая основная.
Сами позиции выводятся.
Шаблоны кастомные, точнее их нет.
<?php
use Bitrix\Main\Loader;
if (Loader::includeModule('sale') && Loader::includeModule('iblock')) {
$basket = \Bitrix\Sale\Basket::loadItemsForFUser(
\Bitrix\Sale\Fuser::getId(),
\Bitrix\Main\Context::getCurrent()->getSite()
);
$basketItems = $basket->getBasketItems();
$totalPrice = $basket->getPrice(); // Общая сумма корзины
?>
<ul class="header-basket__list list-reset" data-simplebar>
<?php foreach ($basketItems as $basketItem) : ?>
<?php
$basketItemId = $basketItem->getId(); // ID товара в корзине
$productId = $basketItem->getProductId(); // ID товара
$res = CIBlockElement::GetList(
[],
['ID' => $productId],
false,
false,
['ID', 'IBLOCK_ID', 'NAME', 'PREVIEW_PICTURE']
);
if ($item = $res->Fetch()) {
$imageId = $item['PREVIEW_PICTURE'];
$imageSrc = CFile::GetPath($imageId);
} else {
$imageSrc = ''; // Установите пустой путь или путь по умолчанию, если изображение не найдено.
}
?>
<li class="header-basket__item" id="product_<?php echo $productId; ?>">
<article class="product-card product-card--basket">
<div class="product-card__inner">
<picture class="product-card__pic">
<img class="product-card__img" loading="lazy" src="<?php echo $imageSrc; ?>" width="60" height="60" alt="">
</picture>
<div class="product-card__box">
<h3 class="product-card__title">
<a class="product-card__link" href="#"><?php echo $basketItem->getField('NAME'); ?></a>
</h3>
и т.д.
Вот сюда добавить ajax на удаление и изменение кол-во товаров в корзине.
В заказе есть исполнитель
При переводе заказа из архивного в актуальный, текущий исполнитель будет снят с задачи.
Выберите тип сделки
С безопасной сделкой вы всегда сможете вернуть средства, если что-то пойдет не так. С простой сделкой вы самостоятельно договариваетесь с исполнителем об оплате и берете на себя решение конфликтов.