You are here

public function BlazyViewsFieldFile::render in Blazy 8.2

Same name and namespace in other branches
  1. 8 src/Plugin/views/field/BlazyViewsFieldFile.php \Drupal\blazy\Plugin\views\field\BlazyViewsFieldFile::render()
  2. 7 src/Plugin/views/field/BlazyViewsFieldFile.php \Drupal\blazy\Plugin\views\field\BlazyViewsFieldFile::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 BlazyViewsFieldPluginBase::render

File

src/Plugin/views/field/BlazyViewsFieldFile.php, line 17

Class

BlazyViewsFieldFile
Defines a custom field that renders a preview of a file.

Namespace

Drupal\blazy\Plugin\views\field

Code

public function render(ResultRow $values) {

  /** @var \Drupal\file\Entity\File $entity */
  $entity = $values->_entity;
  $settings = $this
    ->mergedViewsSettings();
  $settings['delta'] = $values->index;
  $settings['entity_id'] = $entity
    ->id();
  $settings['bundle'] = $entity
    ->bundle();
  $settings['entity_type_id'] = $entity
    ->getEntityTypeId();
  $data = $this->blazyEntity
    ->oembed()
    ->getImageItem($entity);
  $data['settings'] = isset($data['settings']) ? array_merge($settings, $data['settings']) : $settings;
  $this->mergedSettings = $data['settings'];

  // Pass results to \Drupal\blazy\BlazyEntity.
  return $this->blazyEntity
    ->build($data, $entity, $entity
    ->getFilename());
}