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

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

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

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

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

Для начала идем в настройки инфоблока нашего торгового каталога и создаем новое свойство "Новинка" с типом список и атрибутом 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; 
}

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

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

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

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

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

Дмитрий15.05.2014
А как сделать так чтобы новинкой был помечен элемент на определенный срок, а потом лейбл снимался бы автоматом !?
Михаил Базаров15.05.2014
Цитата
Дмитрий пишет:
А как сделать так чтобы новинкой был помечен элемент на определенный срок, а потом лейбл снимался бы автоматом !?
Это сложнее, нужно через API получить дату добавления элемента (или свойства Новинка) и деактивировать его по истечению срока.
Сергей10.06.2014
Михаил,

А для какой версии Битрикс актуальна Ваша инструкция?
Пытаюсь применить ее на 14.5.1, в котором несколько отличается путь: /bitrix/templates/eshop_adapt_/components/bitrix/catalog.section/template1/...

И могли бы Вы посоветовать в какое именно место в template.php необходимо вставить код?

Спасибо.
Михаил Базаров11.06.2014
Цитата
Сергей пишет:
Михаил,

А для какой версии Битрикс актуальна Ваша инструкция?
Пытаюсь применить ее на 14.5.1, в котором несколько отличается путь: /bitrix/templates/eshop_adapt_/components/bitrix/catalog.section/template1/...

И могли бы Вы посоветовать в какое именно место в template.php необходимо вставить код?

Спасибо.
Актуально для любой версии, в Вашем случае так понимаю пытаетесь проделать это с шаблоном компанента "Разделы каталога", там нужно открывать для редактирования вывод топа товаров
Максим17.07.2014
Добрый день.
А как "подсветить" категорию (раздел) каталога, в которой есть новинки? Или просто категорию с определенным ID?
Александр02.09.2014
Цитата
Михаил Базаров пишет:
Цитата
Дмитрий пишет:
А как сделать так чтобы новинкой был помечен элемент на определенный срок, а потом лейбл снимался бы автоматом !?
Это сложнее, нужно через API получить дату добавления элемента (или свойства Новинка) и деактивировать его по истечению срока.
Михаил, а это возможно
Александр02.09.2014
Цитата
Александр пишет:
Цитата
Михаил Базаров пишет:
Цитата
Дмитрий пишет:
А как сделать так чтобы новинкой был помечен элемент на определенный срок, а потом лейбл снимался бы автоматом !?
Это сложнее, нужно через API получить дату добавления элемента (или свойства Новинка) и деактивировать его по истечению срока
Гость сайта02.09.2014
Цитата
Михаил Базаров пишет:
Цитата
Дмитрий пишет:
А как сделать так чтобы новинкой был помечен элемент на определенный срок, а потом лейбл снимался бы автоматом !?
Это сложнее, нужно через API получить дату добавления элемента (или свойства Новинка) и деактивировать его по истечению срока.
Прошу прощения, а возможно настроить период активности новинки за отдельную плату?
Владислав19.09.2014
Доброго времени суток!

Сделал все как описано. Появилась лэйба. Но вместе с ней, при наведении на товар, появляется надпись с названием свойства, с пометкой "да" в самом низу. Как избавиться от этого, не подскажите?
Михаил Базаров20.09.2014
Цитата
Владислав пишет:
Доброго времени суток!

Сделал все как описано. Появилась лэйба. Но вместе с ней, при наведении на товар, появляется надпись с названием свойства, с пометкой "да" в самом низу. Как избавиться от этого, не подскажите?
Удалить кусок стандартного кода который выводит свойства
Гость сайта16.01.2015
Добрый день сделал как описано тут, но у меня ничего не появилось....
Михаил Базаров16.01.2015
Цитата
Гость сайта пишет:
Добрый день сделал как описано тут, но у меня ничего не появилось....
Видимо что-то сделали не так
Гость сайта19.01.2015
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Добрый день сделал как описано тут, но у меня ничего не появилось....
Видимо что-то сделали не так
Ну не знаю делал все по инструкции)
Гость сайта19.01.2015
Цитата
Гость сайта пишет:
Цитата
Михаил Базаров пишет:
Цитата
Гость сайта пишет:
Добрый день сделал как описано тут, но у меня ничего не появилось....
Видимо что-то сделали не так
Ну не знаю делал все по инструкции)
а Влияет версия битрикс?
adelopod03.04.2015
<? if ($arItem[" а не <?if ($arElement чтобы выводилась картинка в разделах
Михаил Базаров05.04.2015
Цитата
adelopod пишет:
<? if ($arItem[" а не <?if ($arElement чтобы выводилась картинка в разделах
Смотря где. В компоненте каталога arElement
Леонид19.05.2015
Добрый день, Михаил! Я вас прекрасно понимаю, что вы очень заняты в данный момент, но может уделите 5 минут вашего времени? Дело в том, что я самоучка и иногда возникают различные вопросы. Интернет весь прошарил и не нашел решения. В данный момент занимаюсь созданием интернет магазина pceramics.ru. Очень много полезной информации для себя узнал благодаря вашим урокам. Тут у меня возник вопрос: Как пометить раздел лейблом "Новинка" и т.д.? Есть идея использовать "UF_" (Да/Нет), но как это реализовать мозгов не хватает, а может быть если более простой способ?
Guest20.07.2015
Цитата
Владислав пишет:
Доброго времени суток!

Сделал все как описано. Появилась лэйба. Но вместе с ней, при наведении на товар, появляется надпись с названием свойства, с пометкой "да" в самом низу. Как избавиться от этого, не подскажите?
Попробуйте,  в публичной части при включенном режиме редактирования, в настройках компонента внести это свойство в "не выводить свойство"
Анатолий19.08.2015
Здравствуйте! Не могу понять как сделать лейб. Путь отличается от вашего

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

Нужно по этому же пути создать папку images и кидать в него картинку лейбла? И по этому же пути открывать файлы template.php и style.css и прописывать коды?
Михаил Базаров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с проставляются, и если значение = А то поставить флаг.
Спасибо.
Ivan09.10.2015
Цитата
Михаил Базаров пишет:
Цитата
adelopod пишет:
<? if ($arItem[" а не <?if ($arElement чтобы выводилась картинка в разделах
Смотря где. В компоненте каталога arElement
Я выводил в разделе каталога, в анонсе, помог именно $arItem
Станислав18.10.2015
Как аналогичное провернуть в карточке товара?
Михаил Базаров29.01.2016
Цитата
Станислав пишет:
Как аналогичное провернуть в карточке товара?
Поменять $arElement на $arResult
Vaqif03.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 Vladij17.10.2017
Спасибо за подсказку, реально помогло и работает, скажу всем остальным, у меня 16 версия битрикса и сработало только arItem, если у кого-то и после этого не отображается, то ищите глюк в стилях, возможно надо поменять позиционирование на absolute, у меня сработало :) А Михаилу спасибо!
Guest25.04.2022
Добрый день, подскажите, пожалуйста, почему код мог сработать в карточке элемента, а в разделе нет? Какого кода может не хватать? Компонент полностью переделан, пытаюсь сравнить с исходником, уже идеи закончились что еще можно попробовать. $arElement/Item/Result в разделах не работают. В catalog.section стоит объявление  <? foreach ($arResult['ITEMS'] as $item): ?>. Если $arElement заменить на $item, лейбл выводится вообще у всех товаров. Помогите, пожалуйста.

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

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

Дополнительные картинки в новостях Битрикс, почти фотогалерея. Просмотров: 46515 Частенько стоит задача, по мимо стандартных "Картинка для анонса" и "Деталь... Заполнить поля пользователя из свойства заказа, на примере ФИО Просмотров: 337 При создании заказа покупатель заполняет поле "ФИО". Необходимо скопировать эти данные в п... Заполнить свойство инфоблока ценой из торгового каталога Просмотров: 4075 Если вам по какой-то причине нужно скопировать цену товара в свойство этого же инфоблока. ... Менять большую картинку, при клике на маленькую, в детальной карточке Просмотров: 1299 Мини скриптик, может кому пригодится для каталога товаров или новостей при использовании д... Мобильные версии страниц и поисковые системы Просмотров: 5382 Согласно требования поисковых систем: Яндекс и Google, в случае если у вашего сайта имеетс... Умный фильтр на главной странице Битрикс Просмотров: 19285 Редкая но востребованная задачка- это вывести компонент "умный фильтр" на главную страницу... Простые калькуляторы в карточке товара каталога на Битрикс Просмотров: 14493 На одном из создаваемых сайтов было необходимо сделать небольшой калькулятор и предварител... Time Capsule на Windows 10. Хранение бекапов Time Machine на компьюте... Просмотров: 5760 Заметку написал скорее для себя, что бы собрать все в одну кучу. Написана на базе нескольк... Denwer c PHP 7.1.8 и MYSQL 5.7 оптимизированный для Битрикс Просмотров: 28184 В последнее время, все чаще приходиться работать на Windows, хотя и не люблю эту ОС- с точ... Memcached на сайте под управлением битрикс, при использовании Веб Окр... Просмотров: 6153 Если вам важна скорость отдачи сайта, а у вашего сервера медленный диск для использования ...