public function IndexNameDepth::title in Views Taxonomy Term Name Depth 7.x
Same name and namespace in other branches
- 8.6 src/Plugin/views/argument/IndexNameDepth.php \Drupal\views_taxonomy_term_name_depth\Plugin\views\argument\IndexNameDepth::title()
- 8 src/Plugin/views/argument/IndexNameDepth.php \Drupal\views_taxonomy_term_name_depth\Plugin\views\argument\IndexNameDepth::title()
- 8.3 src/Plugin/views/argument/IndexNameDepth.php \Drupal\views_taxonomy_term_name_depth\Plugin\views\argument\IndexNameDepth::title()
Get the title this argument will assign the view, given the argument.
This usually needs to be overridden to provide a proper title.
Overrides ArgumentPluginBase::title
File
- src/
Plugin/ views/ argument/ IndexNameDepth.php, line 249
Class
- IndexNameDepth
- Argument handler for taxonomy terms with depth.
Namespace
Drupal\views_taxonomy_term_name_depth\Plugin\views\argumentCode
public function title() {
$term = $this->termStorage
->load($this->argument);
// Check the use of pathauto module.
if ($this->moduleHandler
->moduleExists('pathauto')) {
$query = $this->database
->select('taxonomy_term_field_data', 't')
->fields('t', [
'tid',
'name',
]);
// Filter by vocabulary ID if one or more are provided.
if (!empty($this->options['vocabularies'])) {
$query
->condition('t.vid', $this->options['vocabularies'], 'IN');
}
$results = $query
->execute()
->fetchAll(\PDO::FETCH_OBJ);
// Iterate results.
foreach ($results as $row) {
// Service container for alias cleaner.
if ($this->pathautoAliasCleaner
->cleanString($row->name) == $this->pathautoAliasCleaner
->cleanString($this->argument)) {
$tid = $row->tid;
$term = current($this->termStorage
->loadByProperties([
'tid' => $tid,
]));
break;
}
}
}
// If no term was loaded in the pathauto verification, try one more time
// before 'no name'.
if (empty($term)) {
$term = current($this->termStorage
->loadByProperties([
'name' => str_replace('-', ' ', $this->argument),
]));
}
if (!empty($term)) {
return $term
->getName();
}
}