Помогите, пожалуйста, не вижу синтаксической ошибки.
Также, если есть предложения по доработке, буду рад прочитать.
Вот код скрипта под 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");?>
|