You are here

public function SendStatus::render in Simplenews 8

Same name and namespace in other branches
  1. 8.2 src/Plugin/views/field/SendStatus.php \Drupal\simplenews\Plugin\views\field\SendStatus::render()
  2. 3.x src/Plugin/views/field/SendStatus.php \Drupal\simplenews\Plugin\views\field\SendStatus::render()

Renders the field.

Parameters

\Drupal\views\ResultRow $values: The values retrieved from a single row of a view's query result.

Return value

string|\Drupal\Component\Render\MarkupInterface The rendered output. If the output is safe it will be wrapped in an object that implements MarkupInterface. If it is empty or unsafe it will be a string.

Overrides FieldPluginBase::render

File

src/Plugin/views/field/SendStatus.php, line 20

Class

SendStatus
Field handler to provide send status of a newsletter issue.

Namespace

Drupal\simplenews\Plugin\views\field

Code

public function render(ResultRow $values) {
  $node = $values->_entity;
  if ($node
    ->hasField('simplenews_issue')) {

    // Get elements to render.
    $message = $this
      ->getMessage($node);
    if (!empty($message['uri'])) {
      $output['image'] = array(
        '#theme' => 'image',
        '#uri' => $message['uri'],
        '#alt' => $message['description'],
        '#title' => $message['description'],
        '#getsize' => TRUE,
      );
    }
    $output['text'] = array(
      '#type' => 'inline_template',
      '#template' => '<span title="{{ description }}">{{ sent_count }}/{{ count }}</span>',
      '#context' => $message,
    );
    return $output;
  }
}