Выгрузка элементов в CSV
Для выгрузки всех элементов всех инфоблоков в CSV с полями XML_ID и DETAIL_PAGE_URL воспользуйтесь следующим PHP кодом:
Пример кода:
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php");
CModule::IncludeModule("iblock");
$filename = "elements.csv";
$delimiter = ";";
$csvFile = fopen($filename, 'w');
fwrite($csvFile, implode($delimiter, ['XML_ID', 'DETAIL_PAGE_URL']) . PHP_EOL);
$rsIBlocks = CIBlock::GetList();
while ($arIBlock = $rsIBlocks->Fetch()) {
$rsElements = CIBlockElement::GetList([], ['IBLOCK_ID' => $arIBlock['ID']]);
while ($arElement = $rsElements->Fetch()) {
$xmlId = $arElement['XML_ID'];
$detailPageUrl = CIBlock::ReplaceDetailUrl($arElement['DETAIL_PAGE_URL'], $arElement, false, "E");
fwrite($csvFile, implode($delimiter, [$xmlId, $detailPageUrl]) . PHP_EOL);
}
}
fclose($csvFile);
Сохраните данный код в файл с расширением `.php`, поместите его в корневую директорию вашего проекта и запустите его в браузере.
Теперь в файле `elements.csv` будут содержаться все элементы всех инфоблоков с полями `XML_ID` и конкретно сгенерированным ЧПУ для `DETAIL_PAGE_URL`.
Выгрузка разделов в CSV
require_once($_SERVER["DOCUMENT_ROOT"] . "/bitrix/modules/main/include/prolog_before.php"); CModule::IncludeModule('iblock'); // Создаем CSV файл для записи данных $csvFile = "output.csv"; $fileHandler = fopen($csvFile, 'w'); // Заголовки столбцов $headers = array("XML_ID", "SECTION_PAGE_URL"); fputcsv($fileHandler, $headers); // Получаем все инфоблоки $iblockResult = CIBlock::GetList(); while ($iblock = $iblockResult->Fetch()) { // Получаем все разделы инфоблока $rsSections = \Bitrix\Iblock\SectionTable::getList([ 'select' => ['XML_ID', 'ID', 'IBLOCK_ID', 'IBLOCK_SECTION_ID', 'SECTION_PAGE_URL' => 'IBLOCK.SECTION_PAGE_URL'] ]); while ($section = $rsSections->fetch()) { // Генерируем ЧПУ для SECTION_PAGE_URL $section["SECTION_PAGE_URL"] = CIBlock::ReplaceDetailUrl($section['SECTION_PAGE_URL'], $section, false, 'S'); // Записываем данные в CSV файл fputcsv($fileHandler, array($section["XML_ID"], $section["SECTION_PAGE_URL"])); } } // Закрываем файл fclose($fileHandler); // Конец выполнения скрипта echo "Выгрузка завершена!";