Вывод старой цены в редакции малый бизнес

RSS
Вывод старой цены в редакции малый бизнес
 
Битрикс из коробки позволяет управлять скидкой и выводить старую и новую цену, но механизм достаточно сложный.
На сайте старая цена хранится в свойстве. Как можно реализовать вывод старой цены в битрикс из свойств.
К примеру: если цена товара меньше чем (свойство старая цена) но выводить.
Дело в том что если просто вывести свойство старая цена, то данные старой цена не попадут в яндекс маркет, так как решение для экспорта в яндекс маркет работает со стандартным функционалом битрикс.
 
Как-то так, если правильно понял суть вопроса
Код
//Получили цену товара и превратили ее в число
$db_res_ric = CPrice::GetList(array(), 
array(
   "PRODUCT_ID" => $ID, 
   "CATALOG_GROUP_ID" => '11', //ID Типа цены
));
    if ($Price = $db_res_ric->Fetch()) {
    $arElement["PRICE"] = round($Price['PRICE']);
}
$Price = (int)$arElement['PRICE']; //Приводим в число


//Получили старую цену из свойства и превратили ее в число
$OldPrice = (int)$arElement['DISPLAY_PROPERTIES']['OLD_PRICE']['~VALUE'];


if ($OldPrice > $Price) { 
   //Если старая больше цены- выводим ее зачеркнутой
   echo '<s>' . $OldPrice . '</s>' . $Price . '₽';
} else { //Иначе
   echo $Price . '₽';
}
 
Спасибо за развернутый ответ, но проблема не выводе. А как сделать чтобы старая цена была записана в товар и "PRICE_OLD" и в дальнейшем во всех стандартных компонентах использовалась. Ведь из коробки битрикс уже содержит верстку позволяющую выводить старую цену.
Код
<?
                  if ($arParams['SHOW_OLD_PRICE'] === 'Y')
                  {
                     ?>
                     <span class="product-item-price-old" id="<?=$itemIds['PRICE_OLD']?>"
                        <?=($price['RATIO_PRICE'] >= $price['RATIO_BASE_PRICE'] ? 'style="display: none;"' : '')?>>
                        <?=$price['PRINT_RATIO_BASE_PRICE']?>
                     </span> 
                     <?
                  }
                  ?>
                  <span class="product-item-price-current" id="<?=$itemIds['PRICE']?>">
                     <?
                     if (!empty($price))
                     {
                        if ($arParams['PRODUCT_DISPLAY_MODE'] === 'N' && $haveOffers)
                        {
                           echo Loc::getMessage(
                              'CT_BCI_TPL_MESS_PRICE_SIMPLE_MODE',
                              array(
                                 '#PRICE#' => $price['PRINT_RATIO_PRICE'],
                                 '#VALUE#' => $measureRatio,
                                 '#UNIT#' => $minOffer['ITEM_MEASURE']['TITLE']
                              )
                           );
                        }
                        else
                        {
                           echo $price['PRINT_RATIO_PRICE'];
                        }
                     }
                     ?>
                  </span>
 
Вот тут вы описали метод замены стоимости, может так можно и записать старую цену?
https://camouf.ru/blog-note/6554/
 
Цитата
Александр Сигида написал:
Вот тут вы описали метод замены стоимости, может так можно и записать старую цену?
https://camouf.ru/blog-note/6554/
В малом бизнесе это не получится. Там только одно поле для цены.
Попробуйте записывает ее в "Закупочная цена"

Немножко "финт ушами"- но если переход на бизнес, не входит в бюджет, не вижу как иначе.
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Файл
Загрузить картинки
 
Поблагодарить и поддержать:
Или подписаться на boosty канал: Видео на Ютубе