You are here

public function Json::render in Advanced Queue 8

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/Json.php, line 49

Class

Json
Field handler to show data of json stored fields.

Namespace

Drupal\advancedqueue\Plugin\views\field

Code

public function render(ResultRow $values) {
  $value = $values->{$this->field_alias};
  $decoded = (array) JsonDecoder::decode($value);
  if (!empty($this->options['key'])) {
    if (isset($decoded[$this->options['key']])) {
      return $this
        ->sanitizeValue($decoded[$this->options['key']]);
    }
    return '';
  }
  else {
    $decoded = (array) JsonDecoder::decode($value);
    return $this
      ->sanitizeValue(print_r($decoded, TRUE));
  }
}