• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/routing/router.php
  • Класс: BitrixMainRoutingRouter
  • Вызов: Router::route
public function route($name, $parameters = [])
{
	if (!empty($this->routesByName[$name]))
	{
		// route should be compiled
		$route = $this->routesByName[$name];
		$route->compile();

		$uri = $route->getUri();

		if (!empty($routeParameters = $route->getParameters()))
		{
			foreach ($routeParameters as $parameterName => $pattern)
			{
				if (array_key_exists($parameterName, $parameters))
				{
					// get from user
					$value = $parameters[$parameterName];

					// remove from user list
					unset($parameters[$parameterName]);
				}
				elseif ($route->getOptions() && $route->getOptions()->hasDefault($parameterName))
				{
					$value = $route->getOptions()->getDefault($parameterName);
				}
				else
				{
					throw new ParameterNotFoundException;
				}

				// check with pattern?

				$uri = str_replace("{{$parameterName}}", urlencode($value), $uri);
			}
		}

		// additional parameters as query string
		if (!empty($parameters))
		{
			$uri .= '?'.http_build_query($parameters);
		}

		return $uri;
	}
}