SearchApiDate.php in Search API 8
File
src/Plugin/views/field/SearchApiDate.php
View source
<?php
namespace Drupal\search_api\Plugin\views\field;
use Drupal\datetime\Plugin\Field\FieldType\DateTimeItemInterface;
use Drupal\views\Plugin\views\field\Date;
use Drupal\views\Plugin\views\field\MultiItemsFieldHandlerInterface;
class SearchApiDate extends Date implements MultiItemsFieldHandlerInterface {
use SearchApiFieldTrait {
render_item as trait_render_item;
}
public function render_item($count, $item) {
if (!empty($item['value']) && !is_numeric($item['value'])) {
try {
$timezone = new \DateTimeZone(DateTimeItemInterface::STORAGE_TIMEZONE);
$date_time = new \DateTime($item['value'], $timezone);
$item['value'] = $date_time
->getTimestamp();
} catch (\Exception $e) {
$this
->logException($e, '%type while trying to parse date value (Views field "@field_id"): @message in %function (line %line of %file).', [
'@field_id' => $this->options['id'],
]);
return NULL;
}
}
return $this
->trait_render_item($count, $item);
}
}
Classes
Name |
Description |
SearchApiDate |
Handles the display of date fields in Search API Views. |