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

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

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

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

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

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

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

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

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

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

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

Михаил Базаров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, лейбл выводится вообще у всех товаров. Помогите, пожалуйста.

Случайные заметки

Адаптивное гамбургер меню для битрикс

Просмотров: 13292 Комментариев: 6
Заметка коротенькая, но решил оставить ее - так как самому часто нужно нечто подобное. В архиве готовый шаблон для Битрикс, с адапитивным гамбургер ме...