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

CIBlockCMLImport

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

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

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


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

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

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

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
3
Виталий Носков
Быстрый импорт элементов инфоблока из 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);
                                }
                            }
                        }
                    }
 
10
Вячеслав Большагин
Класс описывается  в файле /bitrix/modules/iblock/classes/general/cml2.php .  
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх