function ManyToOne::title

Same name in other branches
  1. 9 core/modules/views/src/Plugin/views/argument/ManyToOne.php \Drupal\views\Plugin\views\argument\ManyToOne::title()
  2. 10 core/modules/views/src/Plugin/views/argument/ManyToOne.php \Drupal\views\Plugin\views\argument\ManyToOne::title()
  3. 11.x core/modules/views/src/Plugin/views/argument/ManyToOne.php \Drupal\views\Plugin\views\argument\ManyToOne::title()

Overrides ArgumentPluginBase::title

File

core/modules/views/src/Plugin/views/argument/ManyToOne.php, line 129

Class

ManyToOne
An argument handler for use in fields that have a many to one relationship with the table(s) to the left. This adds a bunch of options that are reasonably common with this type of relationship. Definition terms:

Namespace

Drupal\views\Plugin\views\argument

Code

public function title() {
    if (!$this->argument) {
        return !empty($this->definition['empty field name']) ? $this->definition['empty field name'] : $this->t('Uncategorized');
    }
    if (!empty($this->options['break_phrase'])) {
        $force_int = !empty($this->definition['numeric']);
        $this->unpackArgumentValue($force_int);
    }
    else {
        $this->value = [
            $this->argument,
        ];
        $this->operator = 'or';
    }
    // @todo -- both of these should check definition for alternate keywords.
    if (empty($this->value)) {
        return !empty($this->definition['empty field name']) ? $this->definition['empty field name'] : $this->t('Uncategorized');
    }
    if ($this->value === [
        -1,
    ]) {
        return !empty($this->definition['invalid input']) ? $this->definition['invalid input'] : $this->t('Invalid input');
    }
    return implode($this->operator == 'or' ? ' + ' : ', ', $this->titleQuery());
}

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