Как правильно презентовать бонусы



Автор:
Издатель: Integrator.Digital

Перед владельцами интернет-магазинов все чаще ставиться задачка на разработку систему скидок. Товары загружаются базовой ценой и дополнительными ценами для отдельных групп покупателей. Для примера можем рассмотреть группу лояльных клиентов. Для них применяются льготы цены, которые соответственно ниже базовой стоимости. И тут встает проблема в отображении подобных привилегий. В стандартных решениях интернет-магазинов при входе пользователем из группы лояльных клиентов посетитель видит обновленную цену на товар и принимает это как типичные снижения цен. Применяемые бонусы остаются за кулисами. Дополнительная мотивация, которую мы преследовали уходит на нет.

pr-1.png

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

Первым делом определим алгоритм наших действий:

  1. Сравним базовую и скидочную стоимость товара
  2. Если имеет место бонусных привилегий - указываем базовую стоимость как зачеркнутую старую и выделенную обновленную цену. Дополнительно выводим стикер с указанием значения применяемой скидки.

Используем CPrice::GetList  для цен товара 

Для этого необходимо каждый тип цен передать в переменную $arElement.

$db_res_dis = CPrice::GetList(array(), array("PRODUCT_ID" => $ID, "CATALOG_GROUP_ID" => <тут необходимо указать ID типа цены>,));

    if ($discountPrice = $db_res_dis->Fetch()) {

    $arElement["PRICE_RIC"] = round($discountPrice['PRICE']);

}

$disPrice = $arElement['PRICE_RIC'];

$disPrice = (int)$disPrice; 

Точно таким образом провернем все манипуляции с базовой ценой.

$db_res_base = CPrice::GetList(array(), array("PRODUCT_ID" => $ID, "CATALOG_GROUP_ID" => '7',));

if ($basePrice = $db_res_base->Fetch()) {

    $arElement["PRICE_RET"] = round($basePrice['PRICE']);

}

$bPrice = $arElement['PRICE_RET'];

$bPrice = (int)$bPrice; 

Для дальнейшего использования у нас теперь имеются следующие переменные: $disPrice и $bPrice. 

Теперь остается соответственно сам процесс сравнения:

if ($disPrice == $bPrice) { //Условия на существование скидки. Проверяет отличаются ли цены

   echo '<div class="old_price">'.$arElement['PRICE_RET'].'</div>'; //Публикуем розничную цену

} else {

echo '<div class="old_price">'.$arElement['PRICE_RET'].'</div>'; //Публикуем базовую цену с визуальным вычеркиванием

echo '<div class="old_price">'.$arElement['PRICE_RIC'].'</div>'; //Выводим актуальную цену со скидкой

}

Для усиления эффекта бонусов разницу опубликуем в виде процентов в выделенной для этого плашке.

if ($disPrice !== $bPrice) {

$Diff = 100 - $disPrice * 100 / $bPrice;

echo '<div class="discount_area">'.$LabelPercent.' %</div>'; 

}

В результате клиент увидит обновленную цену и примененные к ней бонусы. Дело сделано



  • Комментарии
Загрузка комментариев...

Ответим на комментарии online!

Текст сообщения*
Загрузить файл или картинкуПеретащить с помощью Drag'n'drop
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
БЕСПЛАТНО! Ответим на Ваши вопросы!
Нажимая кнопку "Спросить", я даю свое согласие на обработку моих персональных данных, в соответствии с Федеральным законом от 27.07.2006 года №152-Ф3 "О персональных данных", на условиях и для целей, определенных в Согласии на обработку персональных данных.