- Модуль: iblock
- Путь к файлу: ~/bitrix/modules/iblock/classes/general/cml2.php
- Класс: CIBlockCMLExport
- Вызов: CIBlockCMLExport::ExportElements
function ExportElements($PROPERTY_MAP, $SECTION_MAP, $start_time, $INTERVAL, $counter_limit = 0, $arElementFilter = false)
{
$counter = 0;
$arSelect = array(
"ID",
"IBLOCK_ID",
"XML_ID",
"ACTIVE",
"CODE",
"NAME",
"PREVIEW_TEXT",
"PREVIEW_TEXT_TYPE",
"ACTIVE_FROM",
"ACTIVE_TO",
"SORT",
"TAGS",
"DETAIL_TEXT",
"DETAIL_TEXT_TYPE",
"PREVIEW_PICTURE",
"DETAIL_PICTURE",
);
if(is_array($arElementFilter))
{
$arFilter = $arElementFilter;
}
else
{
if($arElementFilter === "none")
return 0;
$arFilter = array (
"IBLOCK_ID"=> $this->arIBlock["ID"],
"ACTIVE" => "Y",
">ID" => $this->next_step["LAST_ID"],
);
if($arElementFilter === "all")
unset($arFilter["ACTIVE"]);
}
$arOrder = array(
"ID" => "ASC",
);
$rsElements = CIBlockElement::GetList($arOrder, $arFilter, false, false, $arSelect);
while($arElement = $rsElements->Fetch())
{
if($this->next_step["catalog"])
fwrite($this->fp, "ttt<".GetMessage("IBLOCK_XML2_OFFER").">n");
else
fwrite($this->fp, "ttt<".GetMessage("IBLOCK_XML2_POSITION").">n");
$this->exportElement($arElement, $SECTION_MAP, $PROPERTY_MAP);
if($this->next_step["catalog"])
fwrite($this->fp, "ttt".GetMessage("IBLOCK_XML2_OFFER").">n");
else
fwrite($this->fp, "ttt".GetMessage("IBLOCK_XML2_POSITION").">n");
$this->next_step["LAST_ID"] = $arElement["ID"];
$counter++;
if($INTERVAL > 0 && (time()-$start_time) > $INTERVAL)
break;
if($counter_limit > 0 && ($counter >= $counter_limit))
break;
}
return $counter;
}