Язмаларны текст файлларыннан импортлау
1С-Битрикс системасына яңалыкларны башка системадан күчергәндә аларны текст файллары ярдәмендә импортларга туры килгәли. Бу эшне башкарып чыгу өчен шушы типтагы код язарга кирәк:
Башта инфоблоктан барлык язмалар соратылып алына, аннан кирәкле XML_ID кодлы файл булу-булмау тикшерелә. Әгәр ул файл булса, аның тексты массивка алына һәм элемент яңартыла.
if (CModule::IncludeModule('iblock'))
{
$db = CIBlockElement::GetList(array(), array('IBLOCK_ID' => 12), false, false, array('ID', 'XML_ID'));
while ($item = $db->GetNext(true, false))
{
if (($item["XML_ID"]>=100) && ($item["XML_ID"]<300))
{
$arLoadProductArray = Array();
if (file_exists($_SERVER["DOCUMENT_ROOT"]."/upload/import/".$item["XML_ID"].".txt"))
{
$handle = fopen($_SERVER["DOCUMENT_ROOT"]."/upload/import/".$item["XML_ID"].".txt", "r");
$arLoadProductArray["DETAIL_TEXT"] = fread($handle, filesize($_SERVER["DOCUMENT_ROOT"]."/upload/import/".$item["XML_ID"].".txt"));
fclose($handle);
$arLoadProductArray["DETAIL_TEXT"] = str_replace("src=\"images", "src=\"/upload/import/images", $arLoadProductArray["DETAIL_TEXT"]);
}
$el = new CIBlockElement;
$res = $el->Update($item["ID"], $arLoadProductArray);
}
}
}
Башта инфоблоктан барлык язмалар соратылып алына, аннан кирәкле XML_ID кодлы файл булу-булмау тикшерелә. Әгәр ул файл булса, аның тексты массивка алына һәм элемент яңартыла.
Комментарии
Отправить комментарий