Требуемый код, будем писать в файле result_modifier.php и передавать в шаблон через переменную $arResult
$component = $this->getComponent();
if ($component) {
$parent = $component->getParent();
if ($parent) {
$parentParams = $parent->arParams;
$engine = new \CComponentEngine();
$page = $engine->guessComponentPath(
$parentParams['SEF_FOLDER'],
$parentParams['SEF_URL_TEMPLATES'],
$variables
);
$arResult['TARGET_PAGE'] = $page;
}
}
Разместив выше написанный код в файле result_modifier.php мы получим в $arResult['TARGET_PAGE'] идентификатор страницы, которая соответствует указанному в $arParams['SEF_URL_TEMPLATES'] шаблону путей.
Если используется комплексный компонент bitrix:news то для него $arParams[SEF_URL_TEMPLATES'] например будет таким:
$arParams['SEF_URL_TEMPLATES'] = [
'news' => '',
'section' => '#SECTION_CODE#/',
'detail' => '#SECTION_CODE#/#ELEMENT_CODE#/'
];
В таком случаи если мы будет находится на детальной странице новости, в $arResult['TARGET_PAGE'] будет значение detail