Назад

Вывод цены со скидкой и старой цены в Битрикс

Главная
Блог
Вывод цены со скидкой и старой цены в Битрикс

В Битрикс цена товара хранится не в свойствах, а в полях каталога. Для корректного отображения цены с учетом возможных скидок необходимо использовать динамический вывод.

Код для получения цены со скидкой

Вот готовый PHP-код, который позволяет получить оптимальную цену товара с учетом скидок:

<?
global $USER;
$productID = 7813; // ID товара
$quantity = 1;     // Количество
$renewal = 'N';    // Параметр продления (не используется)

// Получаем оптимальную цену с учетом скидок
$arPrice = CCatalogProduct::GetOptimalPrice(
    $productID,
    $quantity,
    $USER->GetUserGroupArray(),
    $renewal
);

// Если цена не найдена, ищем ближайшую по количеству
if (!$arPrice || count($arPrice) <= 0) {
    if ($nearestQuantity = CCatalogProduct::GetNearestQuantityPrice($productID, $quantity, $USER->GetUserGroupArray())) {
        $quantity = $nearestQuantity;
        $arPrice = CCatalogProduct::GetOptimalPrice($productID, $quantity, $USER->GetUserGroupArray(), $renewal);
    }
}

// Выводим цену со скидкой и базовую цену
if ($arPrice && isset($arPrice['RESULT_PRICE'])) {
    $basePrice = $arPrice['RESULT_PRICE']['BASE_PRICE'];   // Исходная цена
    $discountPrice = $arPrice['RESULT_PRICE']['DISCOUNT_PRICE']; // Цена со скидкой
    $discountPercent = $arPrice['RESULT_PRICE']['PERCENT'];      // Процент скидки

    echo "Базовая цена: " . $basePrice . "<br>";
    echo "Цена со скидкой: " . $discountPrice . "<br>";
    echo "Скидка: " . $discountPercent . "%";
}
?>

Разбор массива с ценой и скидками

Метод CCatalogProduct::GetOptimalPrice() возвращает массив с данными:

  • RESULT_PRICE – содержит итоговую цену с учетом скидок:

    • BASE_PRICE – исходная цена

    • DISCOUNT_PRICE – цена со скидкой

    • PERCENT – процент скидки

    • CURRENCY – валюта

  • DISCOUNT_LIST – список примененных скидок с их параметрами.

Вывод

Используя этот метод, вы можете динамически отображать цены товаров в Битрикс, учитывая все возможные скидки. Это особенно важно для интернет-магазинов, где цены могут меняться в зависимости от условий.

Оптимизация для SEO:

  • Используйте ключевые слова: "цена со скидкой Битрикс", "динамический вывод цены", "скидки в Битрикс".

  • Код готов к использованию – просто подставьте нужный $productID.

  • Метод работает в последних версиях Битрикс (актуально с версии 12.5.0).

Теперь вы знаете, как правильно выводить цены в Битрикс с учетом скидок!

Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Читайте по теме
Все статьи
Нужен надежный исполнитель?
Разрабатываем сайты, выполняем миграцию на Битрикс, дорабатываем функционал, сопровождаем проекты, а также занимаемся поисковым продвижением и комплексным маркетингом
Получить консультацию
Все статьи