• Модуль: iblock
  • Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
  • Класс: CIBlockCMLImport
  • Вызов: CIBlockCMLImport::ImportSections
function ImportSections()
{
	if($this->next_step["XML_SECTIONS_PARENT"])
	{
		$rs = $this->_xml_file->GetList(
			array("ID" => "asc"),
			array("PARENT_ID" => $this->next_step["XML_SECTIONS_PARENT"]),
			array("ID", "NAME", "VALUE")
		);
		$arID = array();
		while($ar = $rs->Fetch())
			$arID[] = $ar["ID"];

		if($this->skip_root_section && (count($arID) == 1))
		{
			$rs = $this->_xml_file->GetList(
				array("ID" => "asc"),
				array("PARENT_ID" => $arID[0]),
				array("ID", "NAME", "VALUE")
			);

			$XML_SECTIONS_PARENT = false;
			while($ar = $rs->Fetch())
				if($ar["NAME"] == $this->mess["IBLOCK_XML2_GROUPS"])
					$XML_SECTIONS_PARENT = $ar["ID"];

			$arID = array();
			if($XML_SECTIONS_PARENT > 0)
			{
				$rs = $this->_xml_file->GetList(
					array("ID" => "asc"),
					array("PARENT_ID" => $XML_SECTIONS_PARENT),
					array("ID", "NAME", "VALUE")
				);
				while($ar = $rs->Fetch())
					$arID[] = $ar["ID"];
			}
		}

		foreach($arID as $id)
		{
			$result = $this->ImportSection($id, $this->next_step["IBLOCK_ID"], false);
			if($result !== true)
				return $result;
		}
	}

	return true;
}