Хочу проконсультироваться как лучше сделать =) Имеется ИМ, у товаров имеется характеристика - размер, т.е. у одного товара, может быть несколько размеров. Каким образом при добавлении товара в корзину определять какой размер был добавлен? Обязательно ли делать 2 каталога - один с товарами, а другой с товарами с конкретными размерами? и делать связку? Извиняюсь за субмбур, надеюсь понятно плюс минус
Цена от размера зависит? Если нет - размер заносится как свойство товара в корзину. Если зависит - только через 2 инфоблока (каталога, как Вы выражаетесь).
Не надо сверлить зубы через задний проход дрелью от Сваровски
ммм..нет не зависит все равно не понял. вот есть иблок, заданно множественное свойство к примеру типа "список" с именем "размеры", юзается компонент bitrix:catalog при клике на добавить в корзину, как мне понять какой именно из размеров человек выбрал?
Используйте для каталога стандартный шаблон properties. В его настройках укажите свойство "размеры" в качестве характеристики товаров. Тогда в публичке перед кнопкой "в корзину" появится выпадающий список размеров.
Евгений Малков пишет: Евгений Жуков, а если, у товара не указан размер, то получим "Ошибка добавления товара в корзину"? Не у всех товаров есть размер
Это неприятный момент в текущей реализации характеристик, но он лечится. Можно например добавить еще одно значение свойства "размер не выбран" и передавать его как скрытый input при сабмите формы. Необходимо будет чуть-чуть подправить шаблон компонента.
Т.е. если у меня текстовое поле размер (одиночное или множественное), я должен забить в него во всех товарах дефолтовое значение и таскать повсюду проверки на это значение, чтоб его не выводить? Очень удобно. Может проще будет разработчикам битрикса исправить багу? Понятно, что битрикс без заплаток не бывает... А одно значение в селекте, очень в стиле битрикс.
Прекрасная жизнь начинается с прекрасных мыслей...
Иногда все гениальное просто. Почему до сих пор этот момент не поправили не знаю, но решение по сути, в одну строчку. 1. Кастомизируем компонент (Кастомизация компонентов) который проводит операцию по переносу товара в корзину. Обычно это карточка товара bitrix/components/bitrix/catalog.element/component.php и/или список элементов bitrix/components/bitrix/catalog.section/component.php Помните, что если вы не кастомизируете компонент, то после обновления ваши правки могут быть удалены(!) 2. Найдите кусок кода который отвечает за проверку соответствия тех параметров что в настройках, и тех что пришли из формы, при нажатии на "купить":
Она подменяет список требуемых свойств на те что пришли из формы после нажатия на "Купить" Теперь если какое-то свойство у товара не заполнено, например "Цвет" имеет выбор, а "Размер" для данного товара не указан, то это не помешает пользователю выбрать только цвет и купить с ним. Естественно есть проблема безопасности, так как список свойств берется не из настроек компонента а из формы, т.е. потенциально со стороны клиента. Но этого можно избежать если немного повозиться со строчкой в п.3. В $arParams["PRODUCT_PROPERTIES"] находится максимально разрешенный набор свойств для товара, а в нем надо оставить только те из них что есть в $_POST[$arParams["PRODUCT_PROPS_VARIABLE"]]. Тогда решение будет немного длиннее, но абсолютно безопасным для вашего сайта.
4. Маленький тюнинг шаблона что бы не выводить select-ом свойства у которых только одно значение Находим в шаблоне (карточки товара или списка элементов раздела)
Всем привет. не могу найти где в свойствах properties ставятся свойства.. стоит задача для ванных комнат. там левосторонние и правостороние... подскажите, а лучше ткните в скрин:)
Разработка, поддержка сайтов. Консультация по работе. От 950 руб/час. Sunweb.pro
Владимир Суслов пишет: Всем привет. не могу найти где в свойствах properties ставятся свойства.. стоит задача для ванных комнат. там левосторонние и правостороние... подскажите, а лучше ткните в скрин
Шта?))) Свойства раздела открываешь нужного, там ты найдешь параметры элементов всякие, внизу самом, списке конце, но не в SCU, кнопка со списочком есть, создать там выбери и свойства поля СПИСОК поставь, код символьный с названием ты не забудь, =) ниже выбор флажочком поставь и 2 поля внизу значьниями нужными ты заполни. нажми сохранить. Потом ты пойди в каталога настройки =) там вкладка детального ОТОБОРАЖЕНИЯ товара имеется, в ней ты из списка через контрл выбери нужное свойство, либо под списком в поле впиши СИМВОЛЬНОЕ ЗНАЧЕНИЕ что в свойстве ты забивал =) после чего в товара карточке появится нужное тебе поле =) его ты флажочком значенье нужное сможешь отметить и в товаре оно у тебя внизу появится сразу =) Да прибудит с тАбой СИЛА =)))))))
Ай да я =) Дизайн и верстка под БИТРИКС, а можно и сразу на ЖИВУЮ =) обращайтесь =) Ссылка на САЙТ МОЙ тут
В одном магазине так сделала - работает - товары добавляются в корзину с нужными характеристиками. Во втором магазине применяю тот же алгоритм, но при добавлении товара выдает ошибку: