Достаточно частый вопрос, который возникает у владельцев интернет-магазинов — как добавить артикул к названию товара в счете? Далее небольшая статья, где рассматривается процедура добавления дополнительного параметра в печатную форму.
Самое важное — не стоит выполнять изменения на системной форме. Это общее правильно для битрикс — не стоит делать изменения в компонентах системы, которые могут заменится в процессе будущих обновлений Битрикс.
Первый шаг — копируем форму (это 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?>
Хороших экспериментов!
Огромное спасибо!
Благодаря этому примеру все заработало как надо.
Разрабам битрикса — минус в карму. В корзину добавляются нахрен не нужные характеристики товара по умолчанию.
Добрый день!
Большое спасибо за пример кода!
Почему-то выводится только 1 код на все товарные позиции (первый из списка, и далее дублируется на все товары)
Можете подсказать что я не так делаю?