Документация для разработчиков

CIBlockCMLImport

CIBlockCMLImport - класс для импорта данных инфоблока в xml-формате.

Методы класса

МетодОписание
  


Пользовательские комментарии

Пользовательские комментарии не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.

Добавлять комментарии могут только зарегистрированные пользователи. Сообщения для просмотра появляются после модерации.
1
Виталий Носков
Быстрый импорт элементов инфоблока из xml-файла с настройками по умолчанию:

Код
$ABS_FILE_NAME = $_SERVER["DOCUMENT_ROOT"]."/xml/demo.xml";
$WORK_DIR_NAME = substr($ABS_FILE_NAME, 0, strrpos($ABS_FILE_NAME, "/")+1);
                    
                    $obXMLFile = new CIBlockXMLFile;
                    // Удаляем результат предыдущей загрузки
                    $obXMLFile->DropTemporaryTables();
                    // Подготавливаем БД
                    if($obXMLFile->CreateTemporaryTables())
                    {
                        if($fp = fopen($ABS_FILE_NAME, "rb"))
                        {
                           // Чтение содержимого файла за один шаг
                           $obXMLFile->ReadXMLToDatabase($fp, $NS, 0);
                           fclose($fp);
                            // Индексируем загруженные данные для ускорения доступа
                            if(CIBlockXMLFile::IndexTemporaryTables()){
                                $obCatalog = new CIBlockCMLImport;
                             $obCatalog->InitEx($NS, array(
                                "files_dir" => $WORK_DIR_NAME
                             ));
                                $result = $obCatalog->ImportMetaData(1, $IBLOCK_TYPE_ID, "s1");
                                if($result === true){
                                    $result = $obCatalog->ImportSections();
                                    $obCatalog->SectionsResort();
                                    $obCatalog->ReadCatalogData($_SESSION["BX_CML2_IMPORT"]["SECTION_MAP"], $_SESSION["BX_CML2_IMPORT"]["PRICES_MAP"]);
                                    $result = $obCatalog->ImportElements(time(), 0);
                                }
                            }
                        }
                    }
 
6
Вячеслав Большагин
Класс описывается  в файле /bitrix/modules/iblock/classes/general/cml2.php .  
© «Битрикс», 2001-2018, «1С-Битрикс», 2018