1С-Битрикс. Наличие товара в каталоге.

1С-Битрикс. Наличие товара в каталоге.
Задать вопрос
Наши специалисты ответят на любой интересующий вопрос по услуге

Столкнулся с проблемой - необходимо вывести признак наличие товара в торговый каталог Битрикса. 

Исходные данные:

  • Данные в каталог грузятся из 1С.
  • Включать режим "Уменьшать количество на складе при заказе" нельзя.

Как ни крути, придется изменять шаблоны компонентов. Итак, вот мое решение, очень элегантное на мой взгляд:

  1. В шаблоне детального просмотра вставляем строку:
    echo "<pre>"; print_r($arResult); echo "</pre>";
    
  2. Задаем количество товара на складе - например 1423 шт.
  3. Заходим в элемент через публичную часть и видим портянку с параметрами данного элемента. Ищем среди них наше количество - 1423. У меня количество содержалось в 'CATALOG_QUANTITY' 
  4. Убираем в шаблоне детального просмотра вставленный ранее блок когда и ставим что-то типа:
    <hr />
    <?if ($arResult['CATALOG_QUANTITY'] == 0)
       { 
          //ссылка на картинку "Под заказ" 
          echo 'Под заказ';
       } 
    elseif ($arResult['CATALOG_QUANTITY'] > 0)
       { 
          //ссылка на картинку "В наличии" 
          echo 'В наличии';
       }?>
    <hr />

Надеюсь, понятно, что кроме текста можно вставить картинку или еще что - например блок - Оповестить, когда будет.

Проблему могут вызвать ситуации с "Пакетами предложений"(когда есть спецификации по товару), но данный вопрос лучше решать на форме www.1c-bitrix.ru

Особую благодарность выражаю - Илье Чернышову и Андрею Цыбулько.

Важное дополнение!

В некоторых вариантах получается получить наличие товара с помощью:

<hr />
<?if ($arResult['CATALOG_QUANTITY'] == 0)
   { 
      //ссылка на картинку "Под заказ" 
      echo 'Под заказ';
   } 
elseif ($arResult['CATALOG_QUANTITY'] > 0)
   { 
      //ссылка на картинку "В наличии" 
      echo 'В наличии';
   }?>
<hr />

А в некоторых необходимо использовать:

<hr />
<?if ($arElement['CATALOG_QUANTITY'] == 0)
   { 
      //ссылка на картинку "Под заказ" 
      echo 'Под заказ';
   } 
elseif ($arElement['CATALOG_QUANTITY'] > 0)
   { 
      //ссылка на картинку "В наличии" 
      echo 'В наличии';
   }?>
<hr />

На этом все. Спасибо за внимание!

Если статья оказалась полезной - поделись ссылкой с друзьями - кнопки ниже!

Цель нашей компании - предоставление высококачественных ИТ-услуг предприятиям малого и среднего бизнеса.