more_fields-2.2.19/src/Plugin/Field/FieldType/HbkFiles.php

src/Plugin/Field/FieldType/HbkFiles.php
<?php

namespace Drupal\more_fields\Plugin\Field\FieldType;

use Drupal\Component\Utility\Random;
use Drupal\Core\Field\FieldDefinitionInterface;
use Drupal\file\Plugin\Field\FieldType\FileItem;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\StringTranslation\TranslatableMarkup;
use Drupal\Core\File\FileSystemInterface;
use Drupal\Core\Field\FieldStorageDefinitionInterface;

/**
 * Plugin implementation of the 'more_fields_icon_text' field type.
 *
 * @FieldType(
 *   id = "more_fields_hbk_file",
 *   label = @Translation("HBK Galleries Files (videos and images) "),
 *   description = @Translation("This field stores the ID of a file(video or image) as an integer value."),
 *   default_widget = "hbk_file_generic",
 *   default_formatter = "more_fields_hbk_file_formatter",
 *   category = "Complex fields",
 *   list_class = "\Drupal\file\Plugin\Field\FieldType\FileFieldItemList",
 *   constraints = {"ReferenceAccess" = {}, "FileValidation" = {}}
 * )
 */
class HbkFiles extends FileItem {

  /**
   *
   * {@inheritdoc}
   */
  public static function defaultFieldSettings() {
    $parentFieldSettings = parent::defaultFieldSettings();
    if (isset($parentFieldSettings["file_extensions"])) {
      unset($parentFieldSettings["file_extensions"]);
    }
    return [
      'file_extensions' => 'mp4,ogv,webm,png,gif,jpg,jpeg,webp',
      'image_extensions' => 'png, gif, jpg, jpeg, webp',
      'video_extensions' => 'mp4, ogv, webm'
    ] + $parentFieldSettings;
  }

  /**
   *
   * {@inheritdoc}
   */
  // public function fieldSettingsForm(array $form, FormStateInterface
  // $form_state) {
  // $settings = $this->getSettings();
  // $element = parent::fieldSettingsForm($form, $form_state);
  // $element["image_extensions"] = $element["file_extensions"];
  // $element["video_extensions"] = $element["file_extensions"];
  // $element["image_extensions"]["#default_value"] =
  // $settings["image_extensions"] ?? "";
  // $element["video_extensions"]["#default_value"] =
  // $settings["video_extensions"] ?? "";
  // unset($element["file_extensions"]);
  // // dump([$element, $settings]);
  // return $element;
  // }
}

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

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