commerce_license-8.x-2.x-dev/src/Plugin/Field/FieldFormatter/LicenseExpirationFormatter.php
src/Plugin/Field/FieldFormatter/LicenseExpirationFormatter.php
<?php namespace Drupal\commerce_license\Plugin\Field\FieldFormatter; use Drupal\Core\Field\FieldDefinitionInterface; use Drupal\Core\Field\FieldItemListInterface; use Drupal\Core\Field\Plugin\Field\FieldFormatter\TimestampFormatter; /** * Plugin implementation of the 'commerce_license_expiration' formatter. * * @FieldFormatter( * id = "commerce_license_expiration", * label = @Translation("License expiration"), * field_types = { * "timestamp", * } * ) */ class LicenseExpirationFormatter extends TimestampFormatter { /** * {@inheritdoc} */ public function viewElements(FieldItemListInterface $items, $langcode) { $elements = parent::viewElements($items, $langcode); foreach ($items as $delta => $item) { if ((int) $item->value === 0) { $elements[$delta] = ['#markup' => $this->t('Never')]; } } return $elements; } /** * {@inheritdoc} */ public static function isApplicable(FieldDefinitionInterface $field_definition) { return $field_definition->getTargetEntityTypeId() === 'commerce_license' && $field_definition->getName() === 'expires'; } }