Телеграм: @camouf_ru Почта: mihail@bazarow.ru

Помечаем новинки лейблом в каталоге битрикс

Просмотров: 20036

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

Для данной заметки есть дополнение Автоматически помечаем новинки лейблом в каталоге битрикс

Для начала идем в настройки инфоблока нашего торгового каталога и создаем новое свойство "Новинка" с типом список и атрибутом NEWPRODUCT

Лейбл новинка на товаре битрикс

Затем переходим в настройки этого свойства и задаем ему вид "Флажки" с одним значением Y-Да

Лейбл новинка на товаре битрикс

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

Лейбл новинка на товаре битрикс

Рисуем лейбл, здесь уже как душе угодно

Лейбл новинка на товаре битрикс

Идем по пути /bitrix/templates/ШАБЛОН_ВАШЕГО_САЙТА/compnents/bitrix/catalog/ШАБЛОН_ВАШЕГО_КАТАЛОГА/bitrix/catalog.section/.default/ создаем здесь папку images и кидаем в него картинку лейбла. По этому же пути открываем файлы template.php и style.css

В template.php, в нужном месте, там где планируется прилепить лейбл, вставляем

 
<?if ($arElement["DISPLAY_PROPERTIES"]['NEWPRODUCT']){?> 
    <div class="novinko"></div> 
<?}?>

А в style.css, соответственно, стилевое оформление лейбла, с нашим фоновым рисунком

 
.novinko { 
   position: relative;
   float: right; 
   width: 42px; 
   height: 27px; 
   margin: 0px 0px -29px 0px; 
   background: url('images/new.png') no-repeat; 
   z-index: 100; 
}

Вот и все: после того как у нужных товаров будет поставлен чекбокс напротив свойства новинка.

Лейбл новинка на товаре битрикс

У товаров будет появляться наш лейбл

Лейбл новинка на товаре битрикс

Все ровно тоже самое можно проделывать с любыми "пометками" на товарах или новостях.

Михаил Базаров 19.08.2015
Цитата
Анатолий пишет:
Здравствуйте! Не могу понять как сделать лейб. Путь отличается от вашего

/bitrix/templates/mm/components/bitrix/catalog.section/catalog/template

Нужно по этому же пути создать папку images и кидать в него картинку лейбла? И по этому же пути открывать файлы template.php и style.css и прописывать коды?
Да. Вообще картинки можете сложить куда угодно, главное из файла стилей правильно путь до них впишите
Анатолий 20.08.2015
Цитата
Михаил Базаров пишет:
Да. Вообще картинки можете сложить куда угодно, главное из файла стилей правильно путь до них впишите
Ясно. Спасибо попробую
Сергей 09.09.2015
Здравствуйте.
Спасибо, отличный урок, все описано доходчиво.
Как можно реализовать вывод иконки, если свойство имеет несколько параметров - А, В, С. Свойство выгружается из 1с. Т.е используется не флаг а с выпадающего список.  Значения в 1с проставляются, и если значение = А то поставить флаг.
Спасибо.
Ivan 09.10.2015
Цитата
Михаил Базаров пишет:
Цитата
adelopod пишет:
<? if ($arItem[" а не <?if ($arElement чтобы выводилась картинка в разделах
Смотря где. В компоненте каталога arElement
Я выводил в разделе каталога, в анонсе, помог именно $arItem
Станислав 18.10.2015
Как аналогичное провернуть в карточке товара?
Михаил Базаров 29.01.2016
Цитата
Станислав пишет:
Как аналогичное провернуть в карточке товара?
Поменять $arElement на $arResult
Vaqif 03.04.2016
Здравствуйте михаил. Сделал все как показано. Лейбл не выводится. если поставить <div class="novinko"></div> вручную выводится.
Скажите пожалуйста есть ли альтернатива $arElement["DISPLAY_PROPERTIES"]['NEWPRODUCT']?
Думаю может у меня свойство гдето в другом месте хранится. или если есть функция вывода всех переменных чтобы я оттуда поискал то что мне надо. Дело в том что если я просто делаю echo $arElement["DISPLAY_PROPERTIES"] тоже ничего не выводит.
Спасибо
Михаил Базаров 03.04.2016
Цитата
Vaqif написал:
Здравствуйте михаил. Сделал все как показано. Лейбл не выводится. если поставить <div class="novinko"></div> вручную выводится.
Скажите пожалуйста есть ли альтернатива $arElement["DISPLAY_PROPERTIES"]['NEWPRODUCT']?
Думаю может у меня свойство гдето в другом месте хранится. или если есть функция вывода всех переменных чтобы я оттуда поискал то что мне надо. Дело в том что если я просто делаю echo $arElement["DISPLAY_PROPERTIES"] тоже ничего не выводит.
Спасибо
Код
<?
echo "<pre>";
print_r($arElement);
echo "</pre>";
?>
Vlad Vladij 17.10.2017
Спасибо за подсказку, реально помогло и работает, скажу всем остальным, у меня 16 версия битрикса и сработало только arItem, если у кого-то и после этого не отображается, то ищите глюк в стилях, возможно надо поменять позиционирование на absolute, у меня сработало :) А Михаилу спасибо!
Guest 25.04.2022
Добрый день, подскажите, пожалуйста, почему код мог сработать в карточке элемента, а в разделе нет? Какого кода может не хватать? Компонент полностью переделан, пытаюсь сравнить с исходником, уже идеи закончились что еще можно попробовать. $arElement/Item/Result в разделах не работают. В catalog.section стоит объявление  <? foreach ($arResult['ITEMS'] as $item): ?>. Если $arElement заменить на $item, лейбл выводится вообще у всех товаров. Помогите, пожалуйста.

Записная книжка разработчика

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

Фиксированная корзина с обновлением, без перезагрузки страницы. Просмотров: 17499 Иногда нужно сделать так, чтобы корзина в интернет магазине, созданном на Битрикс, была по... Подключение SSL на Битрикс виртуальная машина Просмотров: 11929 С первого января 2017 года, наличие безопасного соединения HTTPS становится практически об... Заполнить картинки разделов каталога из картинок товаров Просмотров: 338 Задача: в каталоге, разделы и подразделы выводятся в виде плитки над товарами, с картинкам... Memcached на сайте под управлением битрикс, при использовании Веб Окр... Просмотров: 6940 Если вам важна скорость отдачи сайта, а у вашего сервера медленный диск для использования ... Прятать или показывать описание раздела каталога Просмотров: 598 В новых компонентах и шаблонах catalog.section есть не документированный и не выводимый па... Менять большую картинку, при клике на маленькую, в детальной карточке Просмотров: 1764 Мини скриптик, может кому пригодится для каталога товаров или новостей при использовании д... Отфильтровать новости в Битрикс за заданный период Просмотров: 15590 Иногда, нужно отфильтровать элементы (новости например) по дате в Битрикс, с помощью компо... Постраничная навигация в списке разделов Битрикс- catalog.section.lis... Просмотров: 8719 Если в магазине очень много разделов и хочется вывести их с постраничной навигацией: можно... Смена вида карточек товаров в catalog.section с иммитацией AJAX Просмотров: 818 Смену вида карточек товаров, в разделе каталога, можно реализовать с помощью сессии, запис... Ajax форма обратной связи, реализация в битрикс Просмотров: 7580 Иногда, на сайте требуется создать форму обратной связи, которая будет писать все данные в... Очистка корзины в 1С-Битрикс одним нажатием Просмотров: 27754 В стандартной корзине Битрикс не хватает кнопки для полной очистки корзины одним нажатием... Создание мобильного приложения на cordova, для любого сайта. Просмотров: 14192 Если стоит задача разработки мобильного приложения для сайта, можете воспользоваться данно... Ссылка и название раздела в списке новостей Битрикс Просмотров: 10517 Если нужно вывести название раздела инфоблока в котором находится конкретный элемент/новос... Изменить размер картинок на лету в битрикс Просмотров: 46794 Встала задачка: на собственном сайте, уменьшить размер превьюшек картинок у анонсов раздел... Определить местоположение пользователя и показать на карте Просмотров: 3270 Задача определить местоположение текущего пользователя и показать его на карте, с меткой. ... Снять ограничение на количество символов в комментарии к заказу магаз... Просмотров: 11554 Как многим известно, в интернет-магазине на Битрикс имеется ограничение на количество симв... Получить множественное пользовательское поле раздела. Значения множес... Просмотров: 357 Задача: У разделов инфоблока есть множественное поле типа список. Зная ID раздела, нужно п... Умный фильтр на главной странице Битрикс Просмотров: 20882 Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу... Установка веб-сервера LAMP на ubuntu 20.04 LTS, оптимизированный под ... Просмотров: 11425 В последнее время, плотно пересел c macOS на ubuntu, и решил настроить себе полноценное ра... Вывод даты создания элемента в правильном формате в Битрикс Просмотров: 21668 Если нужно вывести дату создания новости, статьи или товара в каталоге, в принципе любого ...