- Модуль: 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
);
}