- Модуль: search
- Путь к файлу: ~/bitrix/modules/search/classes/general/item.php
- Класс: CSearchItem
- Вызов: CSearchItem::Fetch
function Fetch()
{
static $arSite = array();
$r = parent::Fetch();
if ($r)
{
$site_id = $r["SITE_ID"];
if (!isset($arSite[$site_id]))
{
$rsSite = CSite::GetList('', '', array("ID" => $site_id));
$arSite[$site_id] = $rsSite->Fetch();
}
$r["DIR"] = $arSite[$site_id]["DIR"];
$r["SERVER_NAME"] = $arSite[$site_id]["SERVER_NAME"];
if ($r["SITE_URL"] <> '')
$r["URL"] = $r["SITE_URL"];
if (mb_substr($r["URL"], 0, 1) == "=")
{
foreach (GetModuleEvents("search", "OnSearchGetURL", true) as $arEvent)
{
$newUrl = ExecuteModuleEventEx($arEvent, array($r));
if (isset($newUrl))
{
$r["URL"] = $newUrl;
}
}
}
$r["URL"] = str_replace(
array("#LANG#", "#SITE_DIR#", "#SERVER_NAME#"),
array($r["DIR"], $r["DIR"], $r["SERVER_NAME"]),
$r["URL"]
);
$r["URL"] = preg_replace("'(?