knowledge-8.x-1.x-dev/src/Plugin/views/field/KnowledgeWeekly.php

src/Plugin/views/field/KnowledgeWeekly.php
<?php

namespace Drupal\knowledge\Plugin\views\field;

use Drupal\Component\Utility\Xss as UtilityXss;
use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\Render\ViewsRenderPipelineMarkup;

/**
 * Field handler to display the hour (server) of the visit.
 *
 * @ingroup views_field_handlers
 *
 * @ViewsField("knowledge_weekly")
 */
final class KnowledgeWeekly extends FieldPluginBase {

  /**
   * {@inheritdoc}
   */
  public function query() {
    $this->ensureMyTable();
    // Add the field.
    $params = $this->options['group_type'] != 'group' ? ['function' => $this->options['group_type']] : [];
    $this->field_alias = $this->query->addField(NULL, 'date_format(from_unixtime(' . $this->tableAlias . ".created), '%X%V')", 'knowledge_weekly', $params);

    $this->addAdditionalFields();
  }

  /**
   * {@inheritdoc}
   */
  public function render($values) {

    $value = $this->getValue($values);
    $year = (int) substr($value, 0, 4);
    $week = (int) substr($value, 4, 2);

    // Converts week of year to date.
    $date = new \DateTime();
    $date->setISODate($year, $week);

    return ViewsRenderPipelineMarkup::create(UtilityXss::filterAdmin($date->format('Y-m-d')));
  }

}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc