Сортировка по скидке bitrix
1С Битрикс: создание фильтра товаров, сортировка товаров по скидке, по названию, по цене
Задача: создать фильтр, в котором будут выводится товары со скидкой, ниже товары без скидки. А также будет сортировка цены по возрастанию и убыванию, по названию в алфавитном порядке и обратном. Также будет фильтрация по популярности (просто рандомная фильтрация).
1. Создание формы с выбором значений для фильтрации товаров в 1С Bitrix
Для начала создадим саму форму, для выбора значений фильтрации. Для этой цели подойдет простейший select. Но проблема в том, что для тегов option сложно задать определенные отступы и стили, и поэтому можно сделать выбор значений используя обычный список, и доработав его стилями и скриптом подменять нужное значение.
Там где у нас находится каталог в файле section_horizontal.php (может и быть section_vertical.php, зависит от настроек компонента) добавляем следующий код, который задает параметры сортировки:
Далее уже подключаем форму, в которой задаются и отправляются все параметры сортировки, а также подключаем стили, скрипты.
Да код не претендует на мега вау, зато работает как нужно.
Также добавляем скрипт, который будет открывать наш стилизированный «select», список значений для фильтрации.
В папку шаблона добавляем папку css добавляем файл generic.css, файл будет в архиве.
Также проверяем параметры компонента, чтобы обязательно были следующие параметры:
Далее уже идет запуск компонента «bitrix:catalog.section»,»». То есть шаблон у меня находится в папке /local/ и кастомизирован. Но если и используется шаблон по умолчанию, то тоже должно все прекрасно работать.
И также в файле section_horizontal.php добавим следующий код, который будет при фильтре со скидкой, выводить ниже отфильтрованных товаров скидкой, товары без скидки.
Функцию(точнее класс) AllProductDiscount::getFull был найден в сети интернет, поэтому не публикую здесь его, будет в архиве. Чтобы вывести товары без скидки пришлось выводить только товар один, без описания. Для этого в компоненте catalog_sale нужно убрать описание секции, например так:
Далее в самом дефолтном компоненте catalog.section также убрать описание.
И таким образом можно создать сортировку со скидкой в каталоге товаров 1С Битрикс, сортировку по названию и цене в Bitrix.
Битрикс, скидки для разных пользователей + сортировка?
Нужно сделать несколько вариантов скидок для разных групп пользователей.
Чисто теоретический, они готовы, но возникает проблема.
Нужно сортировать товары по цене со скидкой.
Сейчас работает так: создал новое свойство(числовое), и туда записываю итоговую цену со скидкой.
И уже по нему сортирует. Но теперь вопрос. Как сделать, если у меня становится несколько групп?
Не создавать на каждую группу новое свойство и по нему сортировать?
Простой 7 комментариев
Я вижу только вариант с разным набором свойств для разных групп пользователей.
— в GetList’е и так будут все элементы инфоблока
Ну да. В этом-то и проблема. А если их 10000?
-постраничную навигацию будет делать компонент, мы всего лишь изменим итоговый массив
Таким образом на первой странице у вас должны быть товары В и Б, при чем именно в этом порядке
А компонент дает вам А и Б.
Афигенно он сделал навигацию. Можете выкинуть ее вместе с компонентом.
Так как мы ничего не дождались, вот мой ответ:
Так как скидки вычисляются в рантайме PHP, вы никак не можете упорядочить товары по цене со скидкой в запросе и сортировку необходимо выполнять ПОСЛЕ того как вычислена цена скидки.
Хуже того то, что вам для формирования каждой страницы придется извлечь ВСЕ товары, вычилсить цену со скидкой для ВСЕХ товаров, отсортировать массив в рантайме и выбрать из него товары для страницы.
Следовательно нам нужен кэш. И было неплохо этот кэш сделать максимально узким чтобы как можно реже его обновлять. А лучше вычислять прямо при добавлении нового товара и желательно только для него.
Что хранить в этом кэше? Выходит только что предвычисленные цены со скидкой.
И вот мы вернулись ровно сюда:
Как сделать, если у меня становится несколько групп?
Не создавать на каждую группу новое свойство и по нему сортировать?
Именно так и делать. Если групп относительно не много. Скажем до 2-3х десятков такое решение все равно будет оптимальным и самым быстрым.
Обновление значений вешайте на апдейт товара/элемента на события.
Секреты настройки скидок в 1С-Битрикс. Магия Товара дня
Скидки в платформе Битрикс делятся на две большие группы: скидка на товар, скидка на заказ. Также существует множество различных комбинаций и сценариев.
Чтобы создать систему скидок на сайте важно понимание скидочного механизма. Но прежде, чем мы перейдем к разбору наиболее популярных сценариев скидок, сначала рассмотрим процесс их создания.
Как создать скидку на Битриксе
Для создания скидок в Битриксе используются правила работы с корзиной. Правила работы с корзиной позволяют задавать различные варианты условий применения скидок к товарам.
Если в административной панели сайта перейти по пути Маркетинг > Товарный маркетинг > Правила работы с корзиной, то можно увидеть страницу со списком ранее созданных правил работы с корзиной. Для создания новой скидки нужно нажать кнопку Добавить правило.
Страница Правила работы с корзиной в Битрикс
Еженедельные и ежемесячные скидки
Подробно рассмотрим создание скидки на примере акции, которая ограничена по времени. Такими акциями часто пользуются супермаркеты и крупные интернет ритейлеры.
Например, мы хотим создать акцию: “Скидка 18% на чай Earl Gray с 12 по 18 августа”.
В окне создания нового правила в вкладке “Общие параметры” заполняются поля:
Активность: отмеченный чекбокс включит скидку рабочей на сайте.
Сайт: оставляется по умолчанию.
Название: вводится название скидки.
Интервал периода активности: в нашем примере указывается время действия скидки с 12 по 18 августа.
Приоритет применимости: чем больше число, тем раньше применится скидка. Если к одному товару применяется одновременно несколько скидок, приоритет применимости устанавливает порядок применения скидок.
Индекс сортировки: если к одному товару применяются несколько скидок с одинаковым приоритетом применимости, индекс сортировки позволит установить порядок применения, чем меньше число, тем раньше применится скидка в рамках одного приоритета.
Прекратить применение скидок на текущем уровне приоритетов: при включенной функции у товара, к которому применяется эта скидка, другие скидки с таким же уровнем приоритета, но с большей сортировкой, чем у текущего правила, применяться к заказу не будут.
Прекратить дальнейшее применение правил: при включенном функционале скидки с меньшим приоритетом применимости, чем у текущей, применяться к товару не будут.
Создание скидки на товар в определенный период времени
Во вкладке “Действия и условия” с помощью конструктора настраиваются условия, при которых скидка будет действовать. Условия выбираются через логические операторы (и, или и т. д.), которые меняются по клику на них.
В нашем случае нужно выбрать: Применить скидку 18% к товарам, в которых Поле Товар равно Earl Gray.
Настройка дополнительных условий при создании скидки на товар
Праздничные скидки
Праздничные скидки всегда ограничены во времени, но посвящены какому-то событию, которое длится один день.
К разновидностям таких скидок можно отнести “Черная пятница”, “Кибер-понедельник”, “Юбилей магазина” и др. Как правило, такие скидки назначаются сразу на весь ассортимент или отдельные разделы.
Представим сценарий, когда мы хотим сделать “27 января 2020 года скидку 27% на всю электронику.
На вкладке Действия и условия настройки будут выглядеть как на рисунке.
Применение скидки к разделам
Цена всех товаров из вышеперечисленных разделов, которые окажутся в корзине, будет рассчитываться со скидкой. На остальные товары магазина скидка распространяться не будет действовать.
Применение скидки к товарам из раздела “Электроника”
Товар дня
Однодневная скидка в сочетании с таймером в карточке товара одна из самых эффективных и лучше других стимулирует к покупке.
Поэтому мы встраиваем модуль “Товар дня” во все наши интернет магазины, где показываем ограничения не только по времени, но и по количеству оставшихся товаров по акции. Ограничения заставляют клиентов принимать решения быстро.
Пример отображения скидки “Товар дня” в карточке товара
Работа с модулем происходит в окне создания/редактирования товара. В отдельной вкладке “Товара дня” указывается:
Активируется применение скидки к товару
Указывается временной диапазон применения скидки
Указывается величина скидки (фиксированная цена, или процент от стоимости)
Указывается количество товаров, которые участвуют в акции
Также есть возможность автоматического продления акции
Настройка скидки “Товар дня” на Битрикс
После настройки скидки и ее применения в каталоге товар будет отмечен иконкой “Товар дня”
Список товаров с акцией “Товар дня”
В карточке товара появится таймер с отсчетом времени действия скидки на товар и доступное количество товара, которое участвует в акции.
Пример отображения скидки “Товар дня” в карточке товара
Бесплатная доставка
Скидка может выражаться не только в снижении стоимости товара, но и предоставлению особых условий доставки такого товара. Например, “Бесплатная доставка при покупке свитера”
Настройка бесплатной доставки при товара
Прогрессивные скидки
Для того чтобы получить скидку, необходимо купить товар на сумму от… Предложение покупателю скидки при покупки товара на большую сумму, может повысить средний чек на 10-20%. Например, “Скидка 5% на сумму заказа от 8000 рублей”
Скидка на общую сумму заказа при заказе от.
Количественные скидки
Скидки предоставляемые за покупку определенного количества товаров.
“Скидка 10% на платье при покупке двух и более аксессуаров»
Скидка на платье при покупке двух и более аксессуаров
Применение скидки на платье при покупке двух разных
Скидки для групп пользователей
В платформе Битрикс можно настроить скидки для определенных групп пользователей (оптовая, клубная, скидка для постоянных клиентов, скидки VIP-клиентов).
Чтобы настроить такие скидки сначала необходимо создать специальную группу пользователей, например “VIP клиенты” и поместить в нее клиентов.
Создание группы пользователей в 1С-Битрикс
Затем при создании скидки в вкладке “Ограничения” указывается группа пользователей, к которой данная скидка будет применяться.
Настройка скидок для определенной группы пользователей в Битрикс
Персональные скидки
Покупателю сообщается код купона, который он вводит в процессе оформления покупки, после чего в к заказу или товару применяется скидка.
Рассмотрим механизм создания купона.
На странице правил работы с корзиной открывается на редактирование скидка, к которой будет привязан купон. Во вкладке Купоны нажатием кнопки Добавить можно выбрать действие Добавить один купон или Добавить несколько купонов.
В окне создания купона:
Отмечается активность купона
Вводится название купона, либо генерируется случайная комбинация символов, нажатием кнопки “Сгенерировать купон”
Выбирается тип купона:
Отмечается период активности (указывается временной интервал действия купона, либо без ограничений)
Если вы хотите создать именной купон, для конкретного клиента, то укажите его из списка пользователей. Если поле оставить пустым воспользоваться купоном сможет любой пользователь
После сохранения купон появиться в общем списке на странице Купоны.
Окно создания купона
В результате, когда покупатель введет код купона на странице корзины, система автоматически пересчитает стоимость товара.
Применение купона в корзине готового решения Мегамарт
Как видите, создание скидок не представляет никакой сложности. Однако, следует придерживаться правила: чем проще, тем лучше. Лучше создать несколько простых скидок, чем в одной учитывать множество условий. Поскольку, если условий в настройках будет очень много, то высока вероятность того, что где-то что-то будет не учтено и может привести к “неожиданному” результату.
Кейс: создание страницы распродаж в Битрикс
Описание проблемы
Зачастую у магазинов, которые организовывают распродажи или предоставляют скидки на отдельные товары, есть необходимость в отдельной странице с такими товарами. Встроенная функциональность шаблонов Битрикс предусматривает такую возможность, достаточно всего лишь:
Очевидно, что такая процедура предусматривает слишком много действий и надо бы её упростить. Для нашего клиента, рыболовного интернет-магазина Crazy Fish, мы создали полностью автоматическую страницу, отображающую все товары со скидками в текущий момент — «Распродажа».
Читайте также:
Реализация решения
Чтобы вывести в этот раздел все товары со скидкой, необходимо сделать следующее:
Всю остальную работу сделает написанный нами скрипт.
Помимо стандартных возможностей сортировки товаров по названию или цене, мы также сделали фильтрацию по типу товара и размеру скидки. Клиент может сразу сузить круг поиска и ознакомиться с самыми выгодными предложениями. Фильтры также формируются автоматически, страница в принципе не требует никакого администрирования.
Этот раздел можно отдельно рекламировать в социальных сетях или разместив баннер на главной странице. Подобные категории также помогают и в SEO, привлекая больше трафика по запросам вида «название товара + акции».
Сортировка по скидке bitrix
Курс предназначен для администраторов интернет-магазинов, работающих на базе системы «1С-Битрикс: Управление сайтом». Изучение курса необходимо при работе с продуктом редакции Малый бизнес и выше при организации торговых операций через Интернет.
Поэтому, если у вас нет возможности обновить продукт и/или выполнить конвертацию, то описание работы с модулем Интернет-магазин смотрите в курсе Магазин до конвертации (до версии 15.0).
Кроме того, доступны для скачивания следующие материалы с описанием старого функционала магазина:
Курс Администратор. Бизнес завершает группу административных курсов по Bitrix Framework.
Начальные требования
Необходимый минимум знаний для изучения курса:
Неплохо было бы иметь базовые навыки установки и администрирования *nix-систем.
У нас часто спрашивают, сколько нужно заплатить
Ещё у нас есть Академия 1С-Битрикс, где можно обучиться на платной основе на курсах нашей компании либо наших партнёров.
Баллы опыта
уроке.
Тесты и сертификат
После изучения курса вам будет предложено пройти итоговые тесты на сертификацию.
Для доступа к итоговым тестам данного курса необходимо успешно сдать итоговые тесты курсов Администратор. Базовый и Администратор. Модули.
При успешной сдаче последовательности тестов на странице Моё обучение можно просмотреть результат обучения и загрузить сертификат в формате PDF.
Для преподавания оффлайн
Если данный курс берётся в качестве основы для оффлайного преподавания, то рекомендуемая продолжительность: 2 дня (16 академических часов).
Если нет интернета
Скачать материалы курса в формате EPUB. Файлы формата EPUB Чем открыть файл на
Android:
EPUB Reader
CoolReader
FBReader
Moon+ Reader
eBoox
iPhone:
FBReader
CoolReader
iBook
Bookmate
Windows:
Calibre
FBReader
Icecream Ebook Reader
Плагины для браузеров:
EpuBReader – для Firefox
Readium – для Google Chrome