accessibility-8.x-1.x-dev/modules/accessibility_reporting/lib/Drupal/accessibility_reporting/Plugin/views/field/AccessibilityReportingReportedField.php

modules/accessibility_reporting/lib/Drupal/accessibility_reporting/Plugin/views/field/AccessibilityReportingReportedField.php
<?php

/**
 * @file
 * Definition of Drupal\accessibility_reporting\Plugin\views\field\AccessibilityReportingReportedField.
 */

namespace Drupal\accessibility_reporting\Plugin\views\field;

use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\Plugin\views\display\DisplayPluginBase;
use Drupal\views\ResultRow;
use Drupal\views\ViewExecutable;
use Drupal\Component\Annotation\PluginID;
use Drupal\field\FieldInfo;
use Drupal\field\Field;

/**
 * Field handler to present field name of a reported accessibility problem
 *
 * @ingroup views_field_handlers
 *
 * @PluginID("accessibility_reporting_field")
 */
class AccessibilityReportingReportedField extends FieldPluginBase {

  public function query() {
    $this->additional_fields['accessibility_reporting_entity_type'] = array('table' => 'accessibility_reporting',
      'field' => 'entity_type');
    $this->additional_fields['accessibility_reporting_bundle'] = array('table' => 'accessibility_reporting',
      'field' => 'bundle');
    parent::query();
    
  }

  /**
   * {@inheritdoc}
   */
  public function render(ResultRow $values) {
    $field_name = $this->getValue($values);
    $entity_type = $this->getValue($values, 'accessibility_reporting_entity_type');
    $bundle = $this->getValue($values, 'accessibility_reporting_bundle');
    $field = Field::fieldInfo()->getInstance($entity_type, $bundle, $field_name);
		return $field['label'];
  }

}

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

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