sendForward

Загружает выбранный ресурс не изменяя URL страницы

null sendForward(int $id, string $responseCode = '')

$id - id ресурса, который будет загружен

$responseCode - код http-ответа. Возможные значения - 'HTTP/1.1 301 Moved Permanently', 'HTTP/1.1 302 Moved Temporarily' (постоянная и временная переадресация соответственно).

Пример:

Вызов:

return $modx->sendForward(5);

с передачей заголовка с кодом http-ответа:

return $modx->sendForward(5, 'HTTP/1.1 301 Moved Permanently');

Исходный код функции

    /**
     * Forward to another page
     *
     * @param int|string $id
     * @param string $responseCode
     */
    public function sendForward($id, $responseCode = '')
    {
        if ($this->forwards > 0) {
            $this->forwards = $this->forwards - 1;
            $this->documentIdentifier = $id;
            $this->documentMethod = 'id';
            if ($responseCode) {
                header($responseCode);
            }
            $this->prepareResponse();
            exit();
        } else {
            $this->messageQuit("Internal Server Error id={$id}");
            header('HTTP/1.0 500 Internal Server Error');
            die('<h1>ERROR: Too many forward attempts!</h1><p>The request could not be completed due to too many unsuccessful forward attempts.</p>');
        }
    }
Mem: 3.75 mb, MySQL: 0.0024 s, 2 req., PHP: 0.0386 s, all: 0.0410 s, cache.