Помогите, пожалуйста, не вижу синтаксической ошибки.
http://dl4.joxi.net/drive/2017/10/18/0008/0215/557271/71/1993a28e2e.jpg
Также, если есть предложения по доработке, буду рад прочитать.
Вот код скрипта под 2 элемента
Также, если есть предложения по доработке, буду рад прочитать.
Вот код скрипта под 2 элемента
Код |
---|
<? require($_SERVER["DOCUMENT_ROOT"]."/bitrix/header.php"); $APPLICATION->SetTitle("Title"); for($id = 27802; $id < 27804; $id++) { $elementsGetList = CIBlockElement::GetByID($id); if($element = $elementsGetList -> GetNextElement()) { $arFieldsToNew = $element->GetFields(); $getProps = $element->GetProperties(); $PROPS = ""; $addToName = ""; foreach ($getProps as $property) {//////////////////////////////// if ($property['PROPERTY_TYPE']=='L') { if ($property['MULTIPLE']=='Y'){ $arFieldsToNew['PROPERTY_VALUES'][$property['CODE']] = array(); foreach($property['VALUE_ENUM_ID'] as $enumID){ $arFieldsToNew['PROPERTY_VALUES'][$property['CODE']][] = array( 'VALUE' => $enumID ); } } else { $arFieldsToNew['PROPERTY_VALUES'][$property['CODE']] = array( 'VALUE' => $property['VALUE_ENUM_ID'] ); } } elseif ($property['PROPERTY_TYPE']=='F') { if ($property['MULTIPLE']=='Y'){ if (is_array($property['VALUE'])) { foreach ($property['VALUE'] as $key => $arElEnum) $arFieldsToNew['PROPERTY_VALUES'][$property['CODE']][$key]=CFile::CopyFile($arElEnum); } }else $arFieldsToNew['PROPERTY_VALUES'][$property['CODE']] = CFile::CopyFile($property['VALUE']); } else{ $arFieldsToNew['PROPERTY_VALUES'][$property['CODE']] = $property['VALUE']; } if( !is_null($property['VALUE']) && $property['VALUE'] != '') { $sectsGetList = CIBlockSection::GetList( Array(), Array('IBLOCK_ID' => 19) ); while($section = $sectsGetList -> GetNext()) { if($section['NAME'] == $property['NAME']) { $addToName = ' '.$property['VALUE']; $arFieldsToNew['NAME'] .= $addToName; $arFieldsToNew['NAME'] = str_replace(array("\n", "\r\n") ,"", $arFieldsToNew['NAME']); $arFieldsToNew['CODE'] .= nl2br(CUtil::translit( $addToName, 'ru', array("replace_space"=>"_","replace_other"=>"_"))); $arFieldsToNew['PROPERTY_VALUES']['381'] = 'Y'; echo "<pre>"; print_r($arFieldsToNew); echo "</pre>"; $elemToAdd = new CIBlockElement; if($PRODUCT_ID = $elemToAdd->Add($arFieldsToNew)) echo "New ID: ".$PRODUCT_ID; else echo "Error: ".$elemToAdd->LAST_ERROR; } } } elseif( !is_null($property['VALUE_ENUM_ID']) && $property['VALUE_ENUM_ID'] != '') { $sectsGetList = CIBlockSection::GetList( Array(), Array('IBLOCK_ID' => 19) ); while($section = $sectsGetList -> GetNext()) { echo $section['NAME'].'=='.$property['NAME']; if($section['NAME'] == $property['NAME']) { if ($property['PROPERTY_TYPE']=='L') { if ($property['MULTIPLE']=='Y') { $addToName = ""; foreach($property['VALUE_ENUM_ID'] as $enumID){ $addToName .= ' '.$enumID; } $arFieldsToNew['NAME'] .= $addToName; $arFieldsToNew['NAME'] = str_replace(array("\n", "\r\n") ,"", $arFieldsToNew['NAME']); $arFieldsToNew['CODE'] .= nl2br(CUtil::translit( $addToName, 'ru', array("replace_space"=>"_","replace_other"=>"_"))); $arFieldsToNew['PROPERTY_VALUES']['381'] = 'Y'; echo "<pre>"; print_r($arFieldsToNew); echo "</pre>"; $elemToAdd = new CIBlockElement; if($PRODUCT_ID = $elemToAdd->Add($arFieldsToNew)) echo "New ID: ".$PRODUCT_ID; else echo "Error: ".$elemToAdd->LAST_ERROR; } else { $addToName = ' '.$property['VALUE_ENUM_ID']; $arFieldsToNew['NAME'] .= $addToName; $arFieldsToNew['NAME'] = str_replace(array("\n", "\r\n") ,"", $arFieldsToNew['NAME']); $arFieldsToNew['CODE'] .= nl2br(CUtil::translit( $addToName, 'ru', array("replace_space"=>"_","replace_other"=>"_"))); $arFieldsToNew['PROPERTY_VALUES']['381'] = 'Y'; echo "<pre>"; print_r($arFieldsToNew); echo "</pre>"; $elemToAdd = new CIBlockElement; if($PRODUCT_ID = $elemToAdd->Add($arFieldsToNew)) echo "New ID: ".$PRODUCT_ID; else echo "Error: ".$elemToAdd->LAST_ERROR; } } } } } }//////////////////////////////////////////////////////// } } require($_SERVER["DOCUMENT_ROOT"]."/bitrix/footer.php");?> |