• Модуль: main
  • Путь к файлу: ~/bitrix/modules/main/lib/engine/urlmanager.php
  • Класс: BitrixMainEngineUrlManager
  • Вызов: UrlManager::createByComponentController
public function createByComponentController(Controller $controller, $action, $params = array(), $absolute = false)
{
	$reflector = new ReflectionClass($controller);
	$path = dirname($reflector->getFileName());
	if (DIRECTORY_SEPARATOR === '\')
	{
		$path = str_replace('\', '/', $path);
	}
	$pathWithoutLocal = mb_substr($path, mb_strpos($path, '/components/') + mb_strlen('/components/'));
	list($vendor, $componentName) = explode('/', $pathWithoutLocal);

	if (!$componentName)
	{
		$componentName = $vendor;
	}
	else
	{
		$componentName = "{$vendor}:{$componentName}";
	}

	$params['c'] = $componentName;
	$params['mode'] = Router::COMPONENT_MODE_AJAX;

	return $this->create(
		$action,
		$params,
		$absolute
	);
}