• Как переадресовать на страницу элемента инфоблока по его id?

    @KASich Автор вопроса
    Решил вопрос самостоятельно. Создал отдельную страницу site.ru/redirect/, и добавил нижеуказанный код. Теперь ссылка site.ru/redirect/?id=123 будет перенаправлять на товар с id 123. если такого товара не найдено, то перенаправляет на site.ru/404/.

    Для IBLOCK_ID вместо 17 устанавливаем свой id инфоблока.

    <?
    $idItem = $_REQUEST['id'];
    if (!empty($idItem)){
    	$res = CIBlockElement::GetList(array(), array('ID'=>$idItem, 'IBLOCK_ID'=>'17'), false, false, array('DETAIL_PAGE_URL'));
    	if ($arElement = $res->GetNext())
    	{
    	   echo "<pre>"; print_r($arElement); echo "</pre>";
    	   LocalRedirect($arElement[DETAIL_PAGE_URL]);
    	} else {
    		LocalRedirect("/404/");
    	}
    } else {
    	LocalRedirect("/404/");
    }
    ?>
    Ответ написан
    Комментировать