@cornsi

Как вывести в корзине свойство, добавленное вместе с товаром (битрикс)?

Здравствуйте. Настраиваю в битриксе возможность добавить в корзину товар, с указанием дополнительного свойства: пользователь вводит любой текст и отправляет товар с ним в корзину.

Я разместил текстовое поле на странице с товаром. Настроил, чтобы значения с него попадали в админку, но не могу найти решение как вывести этот текст в корзине.

Код, который отвечает за добавление товара в корзину:
Add2BasketByProductID($PRODUCT_ID, 1, array(
    array("NAME" => "Текст для нанесения", "CODE" => "CUSTOMTEXT", "VALUE" => $_POST['custom-text'])
) );


Корзина обрабатывается в init.php. Добавил код (см. ниже, 'customtext'), но он возвращает пустое значение.

foreach ($basket as $basketItem) {
$productid = $basketItem->getProductId();
$goodID = getElementByID($productid);

$items[$productid] = [
            'id' => $basketItem->getProductId(),
            'basket_id' => $basketItem->getId(),
            ...
            'customtext' => isset($goodID['PROPS']['CUSTOMTEXT']) ? $goodID['PROPS']['CUSTOMTEXT']['VALUE'] : '',
            ...
]


Подскажите, пожалуйста, где ошибка? Спасибо!
  • Вопрос задан
  • 1379 просмотров
Пригласить эксперта
Ответы на вопрос 1
rpsv
@rpsv
делай либо хорошо, либо никак
Вы записываете в свойство элемента значение который вводит пользователь? Очень не стоит так делать (кейс: зашли на сайт 2 человека, оба ввели разный текст, что и у кого будет отображаться?).

У элементов корзины есть поле NOTES, его заполняйте при добавлении товара в корзину, тогда и с шаблоном не нужно будет возиться (стандартный насколько помню выводит). Если нет, то просто добавьте в шаблон вывод этого поля.

Документация: https://dev.1c-bitrix.ru/api_d7/bitrix/sale/techni...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы