<?php
namespace Drupal\custom_visit_counter\Plugin\Block;
use Drupal\Core\Block\BlockBase;
use Drupal\Core\Datetime\DrupalDateTime;
use Drupal\Core\Cache;
/**
* Provides a block with a simple text.
*
* @Block(
* id = "visit_counter_block",
* admin_label = @Translation("Visit Counter"),
* )
*/
class CustomVisitCounter extends BlockBase {
/**
* {@inheritdoc}
*/
public function build() {
$database = \Drupal::database();
$query = $database->select('node_counter', 'u');
$query->addExpression('SUM(totalcount)', 'totalviews');
$result = $query->execute()->fetchField();
$last = $database->select('node_field_data', 'nfd')
->fields('nfd', ['changed'])
->condition('nid', 25)
->condition('status', 0, '>')
->orderBy('changed', 'DESC')
->range(0, 1);
$date =$last->execute()->fetchField();
// $date = new DrupalDateTime('now');
$formatted_date = \Drupal::service('date.formatter')->format($date, 'custom', 'd/m/Y, h:ia');
return [
'#markup' => '<div class="totalcount"><span class="field-content">
Visitor Counter: ' . $result . '
</span>
<div><span class="field-content">Last Updated: ' . $formatted_date . '</span></div>
</div>',
'#cache' => [
'max-age' => 0,
]
];
}
public function getCacheMaxAge() {
return 0;
}
}
Comments
Post a Comment