Добрый вечер. Подскажите, пожалуйста.
Я использую комплексный компонент bitrix:news.
ЧПУ раннее формировалось через /news/1234.html - где 1234 - id новости
Причем новость с id 1234 лежит в разделе section.
То есть шаблон ссылок имел вид
"section" => "#SECTION_CODE_PATH#/",
"detail" => "#ELEMENT_ID#.html",
Сейчас нам надо сделать так, чтобы новые добавленные новости имели нормальный чпу вида
"section" => "#SECTION_CODE_PATH#/",
"detail" => "#SECTION_CODE_PATH#/"#ELEMENT_CODE#/",
Но при этом старые новости должны остаться со старым урлом - /news/1234.html
Я не знаю как сделать так, чтобы у новых был новый урл, а у старых старый. Я хотел использовать функцию
SetUrlTemplates
Я прописал ее в result_modifier в news.list - но она не сработала - отдает 404 ошибку страница.
Вот код на примере одного айдишника
$rsElements = CIBlockElement::GetList(array(), array("ID" => 384857, "IBLOCK_ID" => 19), false, false, array("ID", "NAME", "DETAIL_PAGE_URL"));
$rsElements->SetUrlTemplates("/news/#SECTION_CODE_PATH#/#ELEMENT_CODE#.html");
$arElement = $rsElements->GetNext();
foreach($arResult["ITEMS"] as $key => $val){
if($val["ID"] == $arElement["ID"]){
$arResult["ITEMS"][$key]["DETAIL_PAGE_URL"] = $arElement["DETAIL_PAGE_URL"];
}
}
То есть для этого ID ссылка формируется как мне надо, а вот при переходе отдает 404 ошибку. То есть ему вообще все равно. Этому компоненту главное, что за шаблон ссылки стоит при вызове компоненты. То есть, то что идет в массив $arParams.
Подскажите, как мне сделать свой шаблон ссылки, пожалуйста.
Спасибо