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. 8.9.x 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.