Дать возможность покупателю выбирать свойство товара
Дать возможность покупателю выбирать свойство товара
Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.
Даём возможность покупателю выбрать свойства товара и переносим их в корзину
Привет!
Часто возникает задача дать возможность покупателю указать свойства товара перед покупкой: например, позволить выбрать размер, цвет или производителя товара и с этими свойствами положить товар в корзину. Это удобно для покупателя и менеджеры магазина будут точно знать, что покупатель хочет "зелёные носки, а не синие".
В этой статье я продолжу "издеваться" над компонентом bitrix:catalog.element
Для начала для каталога нужно создать свойства типа "список", именно значения этих свойств покупатель будет выбирать при покупке товара. Я создал два свойства, "Цвет" и "Надпись":
Обязательным условием является задание символьных кодов создаваемых свойств. После создания свойств нужно задать варианты значений этих свойств(кнопка "..."), например, для свойства "Цвет" это сделано так:
Далее решения задачи требуется кастомизация компонента и самого шаблона. Опустим скучную часть, описывающую копирование компонента в свою папку и перейдём непосредственно к кастомизации.
1. Поправим файл .parametrs.php скопированного компонента. Нужно добавить параметр компонента - набор свойств типа "Список", значения которых сможет выбрать покупатель.
Теперь в настройках параметров компонента, появится параметр "Свойства для выбора".
2. Теперь правим component.php. В компоненте нужно сформировать массивы значений, которые будут представлены в виде списка для каждого из свойств. После формирования массива $arResult["MORE_PHOTO"] (используйте поиск по файлу) добавляем код:
Мелких модификаций шаблона больше, но они все косметические, поэтому код приводить не буду, тем более компонент можно скачать.
Теперь получившийся компонент с помощью визуального редактора размещаем на станице. И настраиваем, в частности указываем параметр "Свойства для выбора":
Результат примерно такой:
Выберем нужные свойства и кликнем "купить". Переходим в корзину - в корзине отображаются те свойства, которые были выбраны: