Вывод любых данных о товаре в корзине 1С-Битрикс - разработка и поддержка сайтов BUSSOL


Заказать разработку

Вывод любых данных о товаре в корзине 1С-Битрикс

Автор:

Дата публикации:

Вывод любых данных о товаре в корзине 1С-Битрикс

Извечно стоял вопрос о том, как в корзине 1С-Битрикс вывести любое свойство товара. Оказывается, это не так сложно.

Рассмотрим это на примере вывода в корзине столбца с артикулами. Да, по умолчанию компонент sale.basket.basket может вывести артикул под названием товара, но мы хотим вывести артикул в отдельном столбце таблицы. Начиная с 20-й версии 1С-Битрикс.Управление сайтом, в компоненте sale.basket.basket появился очень нужный и полезный файл mutator.php. Если у вас версия Битрикс более ранняя, чем 20-я, то обновитесь до последней, иначе эта статья и видео вам не помогут.

Итак, открываем файл mutator.php, который находится в корне вашего компонента sale.basket.basket (не забудьте скопировать компонент в ваш шаблон). В нем нас будет интересовать цикл foreach в 21-й строке. Этот цикл пробегается по всем элементам корзины и заполняет данные о товаре, содержащемся в корзине, в массив $rowData для вывода в шаблоне. Далее, сразу в начале цикла, перед самим массивом необходимо вставить следующий код:

$db_props = CIBlockElement::GetProperty(5, $row['PRODUCT_ID'], array("sort" => "asc"), array("CODE"=>"CML2_ARTICLE"));
$ar_props = $db_props->Fetch();

В первой строке мы используем метод GetProperty класса CIBlockElement для получения значения свойства-артикула с кодом CML2_ARTICLE для товара с ID = $row['PRODUCT_ID'] инфоблока с ID = 5. В результате в переменную $db_props попадет объект свойства. Во второй строке из объекта свойства мы получаем массив с данными свойства с помощью метода Fetch().

Затем, в массиве $rowData создадим элемент с ключом ARTNUMBER и значением $ar_props["VALUE"] - значение полученного свойства артикула товара.

Теперь для вывода артикула для каждого товара нам нужно открыть файл basket-item.php, который находится в папке js-templates шаблона sale.basket.basket и поставить тег {{ARTNUMBER}} там, где нужно вывести артикул. Более подробную информацию о выводе любых данных в корзине смотрите в видео выше.

241027, Россия, Брянская область, поселок Путевка, улица Рослальская, дом 8, кв.121
Телефон: +7 (953) 298-86-66

12 мая 2023


Извечно стоял вопрос о том, как в корзине 1С-Битрикс вывести любое свойство товара. Оказывается, это не так сложно.

Рассмотрим это на примере вывода в корзине столбца с артикулами. Да, по умолчанию компонент sale.basket.basket может вывести артикул под названием товара, но мы хотим вывести артикул в отдельном столбце таблицы. Начиная с 20-й версии 1С-Битрикс.Управление сайтом, в компоненте sale.basket.basket появился очень нужный и полезный файл mutator.php. Если у вас версия Битрикс более ранняя, чем 20-я, то обновитесь до последней, иначе эта статья и видео вам не помогут.

Итак, открываем файл mutator.php, который находится в корне вашего компонента sale.basket.basket (не забудьте скопировать компонент в ваш шаблон). В нем нас будет интересовать цикл foreach в 21-й строке. Этот цикл пробегается по всем элементам корзины и заполняет данные о товаре, содержащемся в корзине, в массив $rowData для вывода в шаблоне. Далее, сразу в начале цикла, перед самим массивом необходимо вставить следующий код:

$db_props = CIBlockElement::GetProperty(5, $row['PRODUCT_ID'], array("sort" => "asc"), array("CODE"=>"CML2_ARTICLE"));
$ar_props = $db_props->Fetch();

В первой строке мы используем метод GetProperty класса CIBlockElement для получения значения свойства-артикула с кодом CML2_ARTICLE для товара с ID = $row['PRODUCT_ID'] инфоблока с ID = 5. В результате в переменную $db_props попадет объект свойства. Во второй строке из объекта свойства мы получаем массив с данными свойства с помощью метода Fetch().

Затем, в массиве $rowData создадим элемент с ключом ARTNUMBER и значением $ar_props["VALUE"] - значение полученного свойства артикула товара.

Теперь для вывода артикула для каждого товара нам нужно открыть файл basket-item.php, который находится в папке js-templates шаблона sale.basket.basket и поставить тег {{ARTNUMBER}} там, где нужно вывести артикул. Более подробную информацию о выводе любых данных в корзине смотрите в видео выше.

ДРУГИЕ СТАТЬИ

Возврат к списку
Партнер Аспро Золотой сертифицированный партнер 1с-Битрикс

Заказать проект или работы:

Проверяем мессенджеры и почту 3 раза в день. Отвечаем в течении 24-х часов.

Заказать разработку