tmgmt_smartling-8.x-4.11/src/Plugin/views/field/TmgmtSmartlingDashboardLink.php

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

/**
 * @file
 * Definition of Drupal\tmgmt_smartling\Plugin\views\field\TmgmtSmartlingDashboardLink
 */

namespace Drupal\tmgmt_smartling\Plugin\views\field;

use Drupal\tmgmt_smartling\Plugin\tmgmt\Translator\SmartlingTranslator;
use Drupal\views\Plugin\views\field\FieldPluginBase;
use Drupal\views\ResultRow;

/**
 * Field handler to flag the node type.
 *
 * @ingroup views_field_handlers
 *
 * @ViewsField("tmgmt_smartling_dashboard_link")
 */
class TmgmtSmartlingDashboardLink extends FieldPluginBase {

  /**
   * @{inheritdoc}
   */
  public function query() {
    // Leave empty to avoid a query on this field.
  }

  /**
   * @{inheritdoc}
   */
  public function render(ResultRow $values) {
    $job = $values->_entity;
    $translator = ($job->hasTranslator()) ? $job->getTranslatorPlugin() : null;

    if (empty($translator) || !($translator instanceof SmartlingTranslator)) {
      return '';
    }
    $proj_id = $job->getTranslator()->getSetting('project_id');
    $file_name = $translator->getFileName($job);

    return [
      '#theme' => 'smartling_dashboard_link',
      '#proj_id' => $proj_id,
      '#file_name' => $file_name
    ];
  }
}

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

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