media_migration-8.x-1.x-dev/src/Plugin/media_migration/file_entity/Video.php

src/Plugin/media_migration/file_entity/Video.php
<?php

namespace Drupal\media_migration\Plugin\media_migration\file_entity;

use Drupal\Core\Database\Connection;
use Drupal\migrate\Row;

/**
 * Video media migration plugin for local video media entities.
 *
 * @FileEntityDealer(
 *   id = "video",
 *   types = {"video"},
 *   destination_media_type_id_base = "video",
 *   destination_media_source_plugin_id = "video_file"
 * )
 */
class Video extends FileBase {

  /**
   * {@inheritdoc}
   */
  public function getDestinationMediaTypeSourceFieldLabel() {
    return 'Video file';
  }

  /**
   * {@inheritdoc}
   */
  public function getDestinationMediaTypeLabel() {
    return implode(' ', array_filter([
      'Video',
      $this->configuration['scheme'] === 'public' ? NULL : "({$this->configuration['scheme']})",
    ]));
  }

  /**
   * {@inheritdoc}
   */
  public function prepareMediaSourceFieldFormatterRow(Row $row, Connection $connection): void {
    parent::prepareMediaSourceFieldFormatterRow($row, $connection);
    $options = [
      'type' => 'file_video',
      'settings' => [
        'muted' => FALSE,
        'width' => 640,
        'height' => 480,
      ],
    ] + $row->getSourceProperty('options') ?? [];
    $row->setSourceProperty('options', $options);
  }

}

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

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