Для элементов:
Код |
---|
$rsItems = \Bitrix\Iblock\ElementTable::getList([
'select' => ['ID', 'IBLOCK_ID', 'IBLOCK_SECTION_ID', 'DETAIL_PAGE_URL' => 'IBLOCK.DETAIL_PAGE_URL']
]);
while ($arItem = $rsItems->fetch()) {
$arItem['DETAIL_PAGE_URL'] = CIBlock::ReplaceDetailUrl($arItem['DETAIL_PAGE_URL'], $arItem, false, 'E');
} |
Для разделов:
Код |
---|
$rsSections = \Bitrix\Iblock\SectionTable::getList([
'select' => ['ID', 'IBLOCK_ID', 'IBLOCK_SECTION_ID', 'SECTION_PAGE_URL' => 'IBLOCK.SECTION_PAGE_URL']
]);
while ($arSection = $rsSections->fetch()) {
$arSection['SECTION_PAGE_URL'] = CIBlock::ReplaceDetailUrl($arSection['SECTION_PAGE_URL'], $arSection, false, 'S');
} |
Обратите внимание, что в метод CIBlock::ReplaceDetailUrl вторым параметром передаются поля элемента/раздела, которые используются для формирования ссылки. Поэтому не забудьте добавить нужные вам поля в select. Или выбирайте все поля и DETAIL_PAGE_URL вот так:
Код |
---|
$rsItems = \Bitrix\Iblock\ElementTable::getList([
'select' => ['*', 'DETAIL_PAGE_URL' => 'IBLOCK.DETAIL_PAGE_URL']
]); |