Jump to main content Jump to doc navigation

modX::makeUrl

Создает URL-адрес, представляющий указанный ресурс.

Примечание: URL-адреса в мультиконтекстных сайтах принудительно приводятся к абсолютному значению URL, для избежания этого поведения используйте $modx->switchContext('context_key');

Синтаксис

API Doc: modX::makeUrl()

string makeUrl (integer $id, [string $context = ''], [string|array $args = ''], [mixed $scheme = -1], [array $options = null])
  • $id (integer) ID ресурса,к которому создается ссылка. обязателен
  • $context (string) Задает контекст для ограничения создания URL-адресов.
  • $args (string|array) Строка запроса, добавляемая к сгенерированному URL-адресу.
  • $scheme (mixed) Схема показывает, в каком формате создается URL-адрес:
    • -1: (значение по умолчанию) URL-адрес относительно site_url
    • 0: смотри http
    • 1: смотри https
    • full: URL-адрес является абсолютным, с добавлением site_url из конфигурации
    • abs или absolute: URL-адрес является абсолютным, с добавлением base_url из конфигурации
    • http: URL является абсолютным, принудительно по схеме http
    • https: URL является абсолютным, принудительно по схеме https
  • $options (array) Массив параметров для создания URL-адреса ресурса

Примеры

Создайте URL-адрес для ресурса с идентификатором 4.

$url = $modx->makeUrl(4);

Создайте URL-адрес для ресурса с идентификатором 12, но убедитесь, что он находится в HTTPS.

$url = $modx->makeUrl(12, '', '', 'https', array('xhtml_urls' => false));

Создайте URL-адрес ресурса с идентификатором 56, но добавьте ?hello=world к URL-адресу.

$url = $modx->makeUrl(25, '', array('hello' => 'world'));
$url = $modx->makeUrl(25, '', 'hello=world');

Обратите внимание, что аргументы, доступные для этой функции, могут быть переданы тегам "[[~link]]", например

[[~123? &scheme=`full`]]

Смотрите также