Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Params:
- $iblockA = 44;
- $iblockB = 6;
- $pregMatchStr = '#\((.*?)\)#';
- $testCountElem = 10;
- //Script:
- CModule::IncludeModule('iblock');
- $dbIblockB = CIblockElement::GetList([], ['IBLOCK_ID' => $iblockB], false, false, ['NAME', 'ID', 'XML_ID']);
- $arNamesB = [];
- $cnt = 0;
- while($obB = $dbIblockB->GetNext()){
- preg_match($pregMatchStr, $obB['NAME'], $match);
- if(!empty($match) && !empty($match[1]))
- $arNamesB[$obB['XML_ID']] = $match[1];
- if((int)$testCountElem > 0 && $cnt++ > $testCountElem)
- break;
- }
- print_r($arNamesB);
- $dbIblockA = CIblockElement::GetList([], ['IBLOCK_ID' => $iblockA, 'NAME' => $arNamesB], false, false, ['NAME', 'ID', 'XML_ID']);
- $arNamesA = [];
- while($obA = $dbIblockA->GetNext()){
- $arNamesA[$obA['ID']] = $obA['NAME'];
- }
- print_r($arNamesA);
- $arNamesB = array_flip($arNamesB);
- $el = new CIBlockElement;
- foreach($arNamesA as $id => $name){
- if(isset($arNamesB[$name])){
- $el->Update($id, ['XML_ID' => $arNamesB[$name]]);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment