function HTTPStatusCode::buildOptionsForm

Same name and namespace in other branches
  1. 9 core/modules/views/src/Plugin/views/area/HTTPStatusCode.php \Drupal\views\Plugin\views\area\HTTPStatusCode::buildOptionsForm()
  2. 10 core/modules/views/src/Plugin/views/area/HTTPStatusCode.php \Drupal\views\Plugin\views\area\HTTPStatusCode::buildOptionsForm()
  3. 11.x core/modules/views/src/Plugin/views/area/HTTPStatusCode.php \Drupal\views\Plugin\views\area\HTTPStatusCode::buildOptionsForm()

Overrides AreaPluginBase::buildOptionsForm

File

core/modules/views/src/Plugin/views/area/HTTPStatusCode.php, line 31

Class

HTTPStatusCode
Alter the HTTP response status code used by the view.

Namespace

Drupal\views\Plugin\views\area

Code

public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    parent::buildOptionsForm($form, $form_state);
    // Get all possible status codes defined by symfony.
    $options = Response::$statusTexts;
    // Move 403/404/500 to the top.
    $options = [
        '404' => $options['404'],
        '403' => $options['403'],
        '500' => $options['500'],
    ] + $options;
    // Add the HTTP status code, so it's easier for people to find it.
    array_walk($options, function ($title, $code) use (&$options) {
        $options[$code] = $this->t('@code (@title)', [
            '@code' => $code,
            '@title' => $title,
        ]);
    });
    $form['status_code'] = [
        '#title' => $this->t('HTTP status code'),
        '#type' => 'select',
        '#default_value' => $this->options['status_code'],
        '#options' => $options,
    ];
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.