Для обновления содержимого корзины после добавления товара через событие "OnBasketAdd" в Bitrix, можно воспользоваться следующим методом:
1. Необходимо добавить обработчик события "OnBasketAdd" в файле `init.php` вашего шаблона или создать отдельный модуль и добавить туда следующий код:
```php
AddEventHandler("sale", "OnBasketAdd", "onBasketAddHandler");
function onBasketAddHandler($productID, $quantity, $arParams) {
// Пишем здесь код для обновления содержимого корзины
// Например, можно использовать AJAX-запрос для обновления корзины без перезагрузки страницы
}
```
2. С помощью AJAX-запроса после успешного добавления товара в корзину, обновляем содержимое корзины на странице. Для этого можно написать скрипт на JavaScript, который будет отправлять AJAX-запрос на специально подготовленный обработчик на сервере.
Пример скрипта на JavaScript:
```javascript
$.ajax({
type: 'POST',
url: '/ajax/updateBasket.php',
success: function(data) {
// Обновляем содержимое корзины на странице
// Например, заменяем HTML содержимое корзины новыми данными
}
});
```
3. В файле `/ajax/updateBasket.php` создайте обработчик AJAX-запроса для обновления содержимого корзины. В этом файле можно использовать методы Bitrix API для работы с корзиной и получения актуальных данных.
Пример файла `/ajax/updateBasket.php`:
```php
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$APPLICATION->IncludeComponent(
"bitrix:sale.basket.basket",
"",
Array(
"COLUMNS_LIST" => array("NAME", "PRICE", "QUANTITY"),
"PATH_TO_ORDER" => "/personal/order/make/",
"SHOW_DELAY" => "N",
"SHOW_NOTAVAIL" => "N",
"HIDE_COUPON" => "Y",
"PRICE_VAT_SHOW_VALUE" => "N",
"COUNT_DISCOUNT_4_ALL_QUANTITY" => "N",
"USE_PREPAYMENT" => "N",
"QUANTITY_FLOAT" => "N",
"ACTION_VARIABLE" => "basketAction",
"CORRECT_RATIO" => "Y"
)
);
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/epilog_after.php");
```
После выполнения этих шагов, при добавлении товара в корзину через `Bitrix\Catalog\Product\Basket::addProduct`, содержимое корзины будет обновляться без необходимости перезагрузки страницы.