UrlManager
UrlManager - класс-синглтон для построения ссылок на действия AJAX-контроллеров.
Метод | Описание | С версии |
---|---|---|
getInstance( ) | Возвращает экземпляр \Bitrix\Main\Engine\UrlManager. | |
getEndPoint( $absolute = false ) | Получение ссылки на endpoint, через который происходит обработка всех действий контроллеров. Параметры:
Пример: /** @var \Bitrix\Main\Web\Uri $endpointUri **/ $endpointUri = \Bitrix\Main\Engine\UrlManager::getInstance()->getEndPoint(); echo $endpointUri; // /bitrix/services/main/ajax.php $endpointUri = \Bitrix\Main\Engine\UrlManager::getInstance()->getEndPoint(true); echo $endpointUri; // https://example.com/bitrix/services/main/ajax.php | |
getHostUrl( ) | Возвращает абсолютную ссылку на текущий хост с портом и схемой (http, https), с учетом настроек ядра.
Пример: /** @var string $hostUrl **/ $hostUrl = \Bitrix\Main\Engine\UrlManager::getInstance()->getHostUrl(); echo $hostUrl; // https://example.com | |
create( $action, $params = [], $absolute = false ): \Bitrix\Main\Web\Uri | Создает ссылку на конкретное действие. По умолчанию, добавляет SITE_ID, если он известен. Параметры:
Пример: /** @var \Bitrix\Main\Web\Uri $uri **/ $uri = \Bitrix\Main\Engine\UrlManager::getInstance()->create('someModule.someController.demoAction'); echo $uri; // /bitrix/services/main/ajax.php?action=someModule.someController.demoAction /** @var \Bitrix\Main\Web\Uri $uri **/ $uri = \Bitrix\Main\Engine\UrlManager::getInstance()->create('someModule.someController.demoAction', ['hello' => 'world']); echo $uri; // /bitrix/services/main/ajax.php?action=someModule.someController.demoAction&hello=world | |
createByController( Controller $controller, $action, $params = [], $absolute = false ): \Bitrix\Main\Web\Uri | Создает ссылку на действие внутри класса контроллера. При этом полный путь до контроллера будет рассчитан автоматически на основании экземпляра контроллера. Параметры:
Пример: /** @var \Bitrix\Disk\Controller\File $controller */ $controller = new \Bitrix\Disk\Controller\File(); $uri = \Bitrix\Main\Engine\UrlManager::getInstance()->createByController($controller, 'get', ['id' => 100]); echo $uri; // /bitrix/services/main/ajax.php?action=disk.controller.file.get&id=100 | |
createByComponentController( Controller $controller, $action, $params = [], $absolute = false ): \Bitrix\Main\Web\Uri | Создает ссылку на действие внутри класса контроллера компонента (в файле ajax.php). При этом полный путь до контроллера будет рассчитан автоматически на основании экземпляра компонента контроллера. Параметры:
Пример /** @var \SomeComponentController $controller */ $controller = new \SomeComponentController(); $uri = \Bitrix\Main\Engine\UrlManager::getInstance()->createByComponentController($controller, 'showSpace', ['number' => 42]); echo $uri; // /bitrix/services/main/ajax.php?c=bitrix:list.example&mode=ajax&action=showSpace&number=42 | |
createByBitrixComponent( \CBitrixComponent $component, $action, $params = array(), $absolute = false ): \Bitrix\Main\Web\Uri | Создает ссылку на действие внутри класса компонента. При этом полный путь будет рассчитан автоматически на основании экземпляра компонента. Параметры:
Пример /** @var \ListExampleComponent $component */ $component = new \ListExampleComponent(); $uri = \Bitrix\Main\Engine\UrlManager::getInstance()->createByBitrixComponent($component, 'get', ['id' => 40]); echo $uri; // /bitrix/services/main/ajax.php?c=bitrix:list.example&mode=class&action=get&id=40 |
© «Битрикс», 2001-2025, «1С-Битрикс», 2025