metis-3.0.x-dev/src/Plugin/Field/FieldFormatter/MetisDefaultFormatter.php

src/Plugin/Field/FieldFormatter/MetisDefaultFormatter.php
<?php

namespace Drupal\metis\Plugin\Field\FieldFormatter;

use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\FormatterBase;

/**
 * Plugin implementation of the 'metis_default' formatter.
 *
 * @FieldFormatter(
 *   id = "metis_default",
 *   label = @Translation("Metis pixel as image"),
 *   field_types = {"metis"}
 * )
 */
class MetisDefaultFormatter extends FormatterBase {

  /**
   * {@inheritdoc}
   */
  public function viewElements(FieldItemListInterface $items, $langcode) {
    $element = [];
    $config = \Drupal::config('metis.settings');

    foreach ($items as $delta => $item) {
      if (!$item->show) {
        break;
      }

      // Use SSL server if option to use SSL is set.
      $protocol = $config->get('metis_force_ssl') ? 'https' : 'http';

      // Intentionally _not_ using a template function here.
      $element[$delta]['metis'] = [
        '#markup' => '<img src="' . $protocol . '://' . $item->server . '/na/' . $item->code_public . '" height="1" width="1" border="0"/>',
      ];
      return $element;
    }
    return $element;
  }

}

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

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