Столкнулся с проблемой - необходимо вывести признак наличие товара в торговый каталог Битрикса.
Столкнулся с проблемой - необходимо вывести признак наличие товара в торговый каталог Битрикса.
Исходные данные:
- Данные в каталог грузятся из 1С.
- Включать режим "Уменьшать количество на складе при заказе" нельзя.
Как ни крути, придется изменять шаблоны компонентов. Итак, вот мое решение, очень элегантное на мой взгляд:
- В шаблоне детального просмотра вставляем строку:
echo "<pre>"; print_r($arResult); echo "</pre>";
- Задаем количество товара на складе - например 1423 шт.
- Заходим в элемент через публичную часть и видим портянку с параметрами данного элемента. Ищем среди них наше количество - 1423. У меня количество содержалось в 'CATALOG_QUANTITY'
- Убираем в шаблоне детального просмотра вставленный ранее блок когда и ставим что-то типа:
<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 />
На этом все. Спасибо за внимание!
Если статья оказалась полезной - поделись ссылкой с друзьями - кнопки ниже!