Меню
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/
В малом бизнесе это не получится. Там только одно поле для цены.
Попробуйте записывает ее в "Закупочная цена"

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

Блог-note: заметки разработчика

Увидеть файл заказов который передаст Битрикс в 1С

Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей, нужно увидеть xml файл с зака...

Показ страницы сайта в боковом слайдере, на примере всплывающей формы обратной связи.

Если вы хотите сделать подгрузку любой страницы сайта в боковой слайдер, для этого в битриксе есть метод BX.SidePanel.In...

Как работает система сертификации партнеров 1С-Битрикс, уровни партнеров и специалистов

Сертификация от «1С-Битрикс» – это объективная оценка знаний и практических навыков разработки проектов на платформе от ...

Старые шаблоны битрикс для простой верстки

Новые версии типового интернет-магазина, который идет в комплекте с Битрикс (от 12 версии и выше), достаточно технологич...

Фотогалерея на базе компонента новостей, с fancybox.

Это заметка обновление к очень старой, уже имеющейся на сайте. Сделаем что-то типа фотогалереи на базе встроеннного в би...

Показать только один тип цены в каталоге Битрикс

Достаточно часто, при создании сайта на битрикс, можно столкнуться с такой проблемой: на сайте имеется несколько групп о...

Скопировать номер телефона из поля пользователя в телефон для регистрации

Задача, на конкретном сайте: раньше все пользователи регистрировались по стандартному режиму, через логин(e-mail) и паро...

Denwer c PHP 7.1.8 и MYSQL 5.7 оптимизированный для Битрикс

В последнее время, все чаще приходиться работать на Windows, хотя и не люблю эту ОС- с точки зрения разработчика сайтов...

Автогенерация символьных кодов разделов и элементов Битрикс

Иногда нужно создать символьные коды для разделов и элементов. Например: если сайт создан давно и ранее работал на ID се...