В 1C-Bitrix есть несколько способов отменить все скидки, если товары в корзине находятся в разных разделах. Вот два из них:
1. С использованием свойства товара "Скидка"
- Откройте административную панель Bitrix и перейдите в каталог товаров.
- Найдите нужный товар и откройте его для редактирования.
- В разделе "Дополнительные свойства" найдите свойство "Скидка" и удалите значение этого свойства.
- Сохраните изменения.
- Повторите этот процесс для каждого товара в корзине, который находится в разных разделах.
2. С использованием компонента "sale.order.ajax"
- Откройте файл шаблона корзины (обычно это файл "sale.basket.basket" или "sale.order.ajax").
- В коде компонента найдите место, где выводится информация о товарах в корзине.
- Добавьте код, который будет проверять раздел товара и отменять скидку, если он находится в разных разделах.
- Пример кода на PHP, который проверяет раздел товара и отменяет скидку:
foreach ($arResult["ITEMS"]["AnDelCanBuy"] as $key => $arItem) { $sectionPath = CIBlockSection::GetNavChain(false, $arItem["PRODUCT_IBLOCK_SECTION_ID"]); $sections = array(); while ($section = $sectionPath->Fetch()) { $sections[] = $section["ID"]; } // Проверяем, есть ли разделы товара if (count(array_unique($sections)) > 1) { $arResult["ITEMS"]["AnDelCanBuy"][$key]["DISCOUNT_PRICE"] = 0; // Отменяем скидку } }
После добавления этого кода сохраните файл и проверьте работу корзины. Теперь все скидки будут отменены для товаров, находящихся в разных разделах.
Оба этих подхода позволяют отменить скидки для товаров в корзине, находящихся в разных разделах. Выберите тот, который наиболее удобен для вас и соответствует вашим требованиям.