Я сделал свой шаблон импорта. за основу взял csv_new_run.php и положил сюда (bitrix\php_interface\include\catalog_import\)
на 966 строке добавил:
Код |
---|
//MEASURE_RATIO
if($arLoadOfferArray['MEASURE_RATIO']!=''){
$MEASURE_RATIO = array(
'PRODUCT_ID' => $PRODUCT_ID,
'RATIO' => $arLoadOfferArray['MEASURE_RATIO']
);
unset($arLoadOfferArray['MEASURE_RATIO']);
}else{
$MEASURE_RATIO = array(
'PRODUCT_ID' => $PRODUCT_ID,
'RATIO' => 1
);
}
|
после них идут строки
Код |
---|
$productAddRes = CCatalogProduct::Add($arLoadOfferArray);
if (!$productAddRes)
{
$strErrorR .= GetMessage('CATI_LINE_NO').' '.$line_num.'. ';
if ($ex = $APPLICATION->GetException())
{
$strErrorR .= GetMessage('CATI_ERR_PRODUCT_UPDATE').$ex->GetString();
}
else
{
$strErrorR .= GetMessage('CATI_ERR_PRODUCT_UPDATE_UNKNOWN');
}
unset($ex);
}
else
{
//MEASURE_RATIO
// добавление коэффициента единицы измерения товара
require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/catalog/general/measure_ratio.php");
$db_ratio = CCatalogMeasureRatio::getList(array(), array("PRODUCT_ID" => $PRODUCT_ID), false, false, array());
if($ar_ratio = $db_ratio->Fetch()){ //update ratio
CCatalogMeasureRatioAll::update($ar_ratio['ID'],$MEASURE_RATIO);
}else{// add ratio
CCatalogMeasureRatioAll::add($MEASURE_RATIO);
}
|
и в bitrix/modules/catalog/general/csv_settings.php добавил
Код |
---|
'CP_MEASURE_RATIO' => array(
'value' => 'CP_MEASURE_RATIO',
'field' => 'MEASURE_RATIO',
'important' => 'N',
'name' => Loc::getMessage('BX_CAT_CSV_SETTINGS_PRODUCT_FIELD_NAME_MEASURE_RATIO').' (B_CATALOG_PRODUCT.MEASURE_RATIO)'
),
|