You are here

public function HijriDate::build in Hijri 1.0.x

Same name and namespace in other branches
  1. 8.2 src/Plugin/Block/HijriDate.php \Drupal\hijri\Plugin\Block\HijriDate::build()
  2. 3.0.x src/Plugin/Block/HijriDate.php \Drupal\hijri\Plugin\Block\HijriDate::build()

Builds and returns the renderable array for this block plugin.

If a block should not be rendered because it has no content, then this method must also ensure to return no content: it must then only return an empty array, or an empty array with #cache set (with cacheability metadata indicating the circumstances for it being empty).

Return value

array A renderable array representing the content of the block.

Overrides BlockPluginInterface::build

See also

\Drupal\block\BlockViewBuilder

File

src/Plugin/Block/HijriDate.php, line 20

Class

HijriDate
Provides a block to render the Hijri date.

Namespace

Drupal\hijri\Plugin\Block

Code

public function build() {

  /** @var \Drupal\hijri\HijriFormatter $hijri_formatter */
  $hijri_display = \Drupal::config('hijri.config')
    ->get('hijri_display_block');
  $hijri_formatter = \Drupal::service('hijri.formatter');
  switch ($hijri_display) {
    case 'full':
      $format = $this
        ->t('@hijri on @gregorian', [
        '@hijri' => $hijri_formatter
          ->format(time(), 'custom', 'l j F  Y'),
        '@gregorian' => \Drupal::service('date.formatter')
          ->format(time(), 'custom', 'F j, Y'),
      ]);
      break;
    case 'long':
    case 'medium':
    case 'short':
      $format = $hijri_formatter
        ->format(time(), $hijri_display);
      break;
    default:
      $format = $hijri_formatter
        ->format(time());
      break;
  }
  return [
    '#markup' => $format,
  ];
}