Для того чтобы применить скидку на товар, добавленный вручную в заказ в 1C-Bitrix, вы можете воспользоваться следующими шагами:
1. Откройте файл шаблона компонента «sale.basket.basket» (обычно его можно найти в папке «/bitrix/components/bitrix/sale.basket.basket/templates/.default/») или создайте новый файл шаблона с нужными вам настройками.
2. Найдите код, отвечающий за вывод списка товаров в корзине. Этот код может выглядеть примерно так:
<? foreach ($arResult["GRID"]["ROWS"] as $index => $rowData) { ?> <tr id="<?= $itemId ?>" class="bxr-basket-item-row <?= $rowData["DELAY"] == "Y" ? "bxr-delayed" : "" ?>" data-item-id="<?= $itemId ?>"> <!-- Вывод информации о товаре --> </tr> <? } ?>
3. Внутри цикла foreach, перед закрывающим тегом </tr>, добавьте код, который будет добавлять скидку к цене товара при его добавлении вручную в заказ. Например:
<? foreach ($arResult["GRID"]["ROWS"] as $index => $rowData) { ?> <tr id="<?= $itemId ?>" class="bxr-basket-item-row <?= $rowData["DELAY"] == "Y" ? "bxr-delayed" : "" ?>" data-item-id="<?= $itemId ?>"> <!-- Вывод информации о товаре --> <? if ($rowData["CUSTOM_PRICE"] == "Y") { // Проверяем, является ли товар добавленным вручную ?> <? $discountPrice = $rowData["DISCOUNT_PRICE"]; // Получаем сумму скидки для товара ?> <td class="bxr-basket-item-total-price" colspan="2"> <span class="bxr-basket-item-total-price-regular"><?= $rowData["PRICE"] ?></span> <span class="bxr-basket-item-total-discount"><?= $discountPrice ?></span> </td> <? } else { ?> <td class="bxr-basket-item-total-price" colspan="2"><?= $rowData["PRICE"] ?></td> <? } ?> </tr> <? } ?>
4. Сохраните изменения и проверьте работу вашего сайта. Теперь при добавлении товара в заказ вручную, к его цене будет автоматически применена скидка.
Обратите внимание, что приведенный выше пример является общим и зависит от вашей структуры компонентов и кастомизации. Если вы внесли изменения в структуру компонента или используете другую версию 1C-Bitrix, то код может отличаться.