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-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.