- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
- Класс: CIBlockCMLExport
- Вызов: CIBlockCMLExport::GetSectionXML_ID
function GetSectionXML_ID($IBLOCK_ID, $SECTION_ID, $XML_ID = false)
{
if($XML_ID === false)
{
$rsSection = CIBlockSection::GetList(array(), array("IBLOCK_ID"=>$IBLOCK_ID, "ID"=>$SECTION_ID), false, array('ID', 'XML_ID'));
if($arSection = $rsSection->Fetch())
{
$XML_ID = $arSection["XML_ID"];
}
unset($rsSection);
}
if($XML_ID == '')
{
$XML_ID = $SECTION_ID;
$obSection = new CIBlockSection;
$rsSection = $obSection->GetList(array(), array("IBLOCK_ID"=>$IBLOCK_ID, "EXTERNAL_ID"=>$XML_ID), false, array('ID'));
while($rsSection->Fetch())
{
$XML_ID = md5(uniqid(mt_rand(), true));
$rsSection = $obSection->GetList(array(), array("IBLOCK_ID"=>$IBLOCK_ID, "EXTERNAL_ID"=>$XML_ID), false, array('ID'));
}
$obSection->Update($SECTION_ID, array("XML_ID" => $XML_ID), false, false);
}
return $XML_ID;
}