class Title

Same name and namespace in other branches
  1. 11.x core/modules/views/src/Plugin/views/area/Title.php \Drupal\views\Plugin\views\area\Title

Views area title override handler.

Plugin annotation

@ViewsArea("title");

Hierarchy

Expanded class hierarchy of Title

Related topics

433 string references to 'Title'
AddHandler::buildForm in core/modules/views_ui/src/Form/Ajax/AddHandler.php
AddHandler::buildForm in core/modules/views_ui/src/Form/Ajax/AddHandler.php
AggregatorController::adminOverview in core/modules/aggregator/src/Controller/AggregatorController.php
Displays the aggregator administration page.
AggregatorDisplayConfigurableTest::testFeedDisplayConfigurable in core/modules/aggregator/tests/src/Functional/AggregatorDisplayConfigurableTest.php
Tests base fields to configurable display settings.
AggregatorFeedViewsData::getViewsData in core/modules/aggregator/src/AggregatorFeedViewsData.php

... See full list

File

core/modules/views/src/Plugin/views/area/Title.php, line 14

Namespace

Drupal\views\Plugin\views\area
View source
class Title extends AreaPluginBase {
  
  /**
   * {@inheritdoc}
   */
  protected function defineOptions() {
    $options = parent::defineOptions();
    $options['title'] = [
      'default' => '',
    ];
    return $options;
  }
  
  /**
   * {@inheritdoc}
   */
  public function buildOptionsForm(&$form, FormStateInterface $form_state) {
    parent::buildOptionsForm($form, $form_state);
    $form['title'] = [
      '#type' => 'textfield',
      '#title' => $this->t('Overridden title'),
      '#default_value' => $this->options['title'],
      '#description' => $this->t('Override the title of this view when it is empty. The available global tokens below can be used here.'),
    ];
    // Don't use the AreaPluginBase tokenForm method, we don't want row tokens.
    $this->globalTokenForm($form, $form_state);
  }
  
  /**
   * {@inheritdoc}
   */
  public function preRender(array $results) {
    parent::preRender($results);
    // If a title is provided, process it.
    if (!empty($this->options['title'])) {
      $value = $this->globalTokenReplace($this->options['title']);
      $this->view
        ->setTitle($this->sanitizeValue($value, 'xss_admin'));
    }
  }
  
  /**
   * {@inheritdoc}
   */
  public function render($empty = FALSE) {
    // Do nothing for this handler by returning an empty render array.
    return [];
  }

}

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