public function ViewsDateFormatSqlField::clickSort in Views Date Format SQL 8.3
Called to determine what to tell the clicksorter.
Overrides EntityField::clickSort
File
- src/
Plugin/ views/ field/ ViewsDateFormatSqlField.php, line 204
Class
- ViewsDateFormatSqlField
- A field that displays entity timestamp field data. Supports grouping.
Namespace
Drupal\views_date_format_sql\Plugin\views\fieldCode
public function clickSort($order) {
if (empty($this->options['format_date_sql'])) {
return parent::clickSort($order);
}
// No column selected, can't continue.
if (empty($this->options['click_sort_column'])) {
return NULL;
}
$this
->ensureMyTable();
$field_storage_definition = $this
->getFieldStorageDefinition();
$column = $this
->getTableMapping()
->getFieldColumnName($field_storage_definition, $this->options['click_sort_column']);
if (!isset($this->aliases[$column])) {
// Column is not in query; add a sort on it (without adding the column).
$this->aliases[$column] = $this->tableAlias . '.' . $column;
}
$this->query
->addOrderBy(NULL, NULL, $order, $this->aliases[$column]);
// Added to group ungrouped "timestamp" fields. Can occurs when
// $this->addAdditionalFields is called with NULL $fields param.
if ($this->view->display_handler
->useGroupBy() && array_search($this->aliases[$column], $this->query->groupby, TRUE) === FALSE) {
$this->query
->addGroupBy($this->aliases[$column]);
}
}