Bitrix

Как вывести в печатной форме дополнительные параметры?

Достаточно частый вопрос, который возникает у владельцев интернет-магазинов — как добавить артикул к названию товара в счете? Далее небольшая статья, где рассматривается процедура добавления дополнительного параметра в печатную форму.

Самое важное — не стоит выполнять изменения на системной форме. Это общее правильно для битрикс — не стоит делать изменения в компонентах системы, которые могут заменится в процессе будущих обновлений Битрикс.
Первый шаг — копируем форму (это php-файл) из папки /bitrix/modules/sale/reports/ в /bitrix/admin/reports/ (если нет папки, то создайте ее сначала, а потом копируйте).

Посмотрите какой у вас задан символьный код свойства, в котором хранится артикул. Это можно посмотреть через настройку информационных блока каталога, во вкладке Свойства. Предположим, что код свойства ARTICUL.

Открываем скопированный php-файл формы и добавляем в месте, где идет вывод списка товаров в счете (после определения массива $arBasketTmp) такой код:

<?
if(CModule::IncludeModule('iblock'))
{
$IBLOCK_ID = 8; // id инфоблока каталога
$ARTICUL_CODE = "ARTICUL"; // код свойства Артикул

$arBasketTmp = CSaleBasket::GetByID($arBasketIDs[$i]);
$res = CIBlockElement::GetList(array(), array('IBLOCK_ID' => $IBLOCK_ID, 'ID' => $arBasketTmp['PRODUCT_ID']), false, false, array('PROPERTY', 'PROPERTY_'.$ARTICUL_CODE));
while($ob = $res->GetNextElement())
{
$arFields = $ob->GetFields();
$artprop = $arFields['PROPERTY_'.$ARTICUL_CODE.'_VALUE'];
}
}
?>

Далее вы сможете вывести в нужном месте артикул с помощью <?=$artprop?>

Хороших экспериментов!

Комментариев: 2

  1. Огромное спасибо!
    Благодаря этому примеру все заработало как надо.
    Разрабам битрикса — минус в карму. В корзину добавляются нахрен не нужные характеристики товара по умолчанию.

  2. Добрый день!
    Большое спасибо за пример кода!
    Почему-то выводится только 1 код на все товарные позиции (первый из списка, и далее дублируется на все товары)
    Можете подсказать что я не так делаю?

Отставить комментарий

Ваш электронный адрес не будет опубликован.Обязательные для заполнения поля отмечены *

семь + 20 =