// init.php
$redirectHlblock = Bitrix\Highloadblock\HighloadBlockTable::getById(3)->fetch();
$redirectEntity = Bitrix\Highloadblock\HighloadBlockTable::compileEntity($redirectHlblock);
$redirectClass = $redirectEntity->getDataClass();
// Редиректы
$redirectData = $redirectClass::getList(
array(
"select" => array("*"),
"filter" => array(
'UF_SITE_ID' => SITE_ID,
'UF_URL_FROM' => $APPLICATION->GetCurPage(false),
'>UF_ACTIVE' => 0,
)
)
)->fetch();
if (isset($redirectData['UF_URL_TO']) && !empty($redirectData['UF_URL_TO'])) {
$status = CUserFieldEnum::GetList(array(), array('ID' => $redirectData['UF_STATUS']))->fetch();
LocalRedirect($redirectData['UF_URL_TO'], true, $status['VALUE']);
}
// Подмена URL
$replaceData = $redirectClass::getList(
array(
"select" => array("*"),
"filter" => array(
'UF_SITE_ID' => SITE_ID,
'UF_URL_TO' => $APPLICATION->GetCurPage(false),
'>UF_ACTIVE' => 0,
)
)
)->fetch();
if ($replaceData) {
$context = Bitrix\Main\Application::getInstance()->getContext();
$server = $context->getServer();
$arServer = $server->toArray();
$_SERVER['REQUEST_URI'] = $replaceData['UF_URL_FROM'];
$arServer['REQUEST_URI'] = $replaceData['UF_URL_FROM'];
$server->set($arServer);
$context->initialize(
new Bitrix\Main\HttpRequest($server, array() , array() , array() , $_COOKIE),
$context->getResponse(),
$server
);
$APPLICATION->reinitPath();
define('INCLUDE_CATALOG_INDEX', true);
}
Comments
0 B
|👍
/👎