Спасибо =) сделал
получилось вот что
Чтобы catalog.section выдавал правильные УРЛы в result_modifier.php добавляем после строки foreach ($arResult['ITEMS'] as $key => $arItem)[CODE]$res = CIBlockElement::GetByID($arItem['ID']);
if($ar = $res->GetNext()){
$res = CIBlockSection::GetByID($ar['IBLOCK_SECTION_ID']);
if($ar_res = $res->GetNext())
$section=$ar_res['CODE'];
}
$arItem['DETAIL_PAGE_URL'] = "/catalog/".$section."/".$ar['CODE'];
[/CODE]
Чтобы catalog.element делал редирект на правильный URL создаём в нём component_epilog.php
[CODE]<?
$res = CIBlockElement::GetByID($arResult['ID']);
if($ar = $res->GetNext()){
$res = CIBlockSection::GetByID($ar['IBLOCK_SECTION_ID']);
if($ar_res = $res->GetNext())
$section=$ar_res['CODE'];
}
$url = "/catalog/".$section."/".$ar['CODE'];
if( $url != $APPLICATION->GetCurPage(false)) {
LocalRedirect($url);
}
?>
[/CODE]
получилось вот что
Чтобы catalog.section выдавал правильные УРЛы в result_modifier.php добавляем после строки foreach ($arResult['ITEMS'] as $key => $arItem)[CODE]$res = CIBlockElement::GetByID($arItem['ID']);
if($ar = $res->GetNext()){
$res = CIBlockSection::GetByID($ar['IBLOCK_SECTION_ID']);
if($ar_res = $res->GetNext())
$section=$ar_res['CODE'];
}
$arItem['DETAIL_PAGE_URL'] = "/catalog/".$section."/".$ar['CODE'];
[/CODE]
Чтобы catalog.element делал редирект на правильный URL создаём в нём component_epilog.php
[CODE]<?
$res = CIBlockElement::GetByID($arResult['ID']);
if($ar = $res->GetNext()){
$res = CIBlockSection::GetByID($ar['IBLOCK_SECTION_ID']);
if($ar_res = $res->GetNext())
$section=$ar_res['CODE'];
}
$url = "/catalog/".$section."/".$ar['CODE'];
if( $url != $APPLICATION->GetCurPage(false)) {
LocalRedirect($url);
}
?>
[/CODE]