n1ed-8.x-2.31/src/N1edFileField.php

src/N1edFileField.php
<?php

namespace Drupal\n1ed;

use Drupal\Core\Security\TrustedCallbackInterface;
use Drupal\Core\Url;

/**
 * Implements logic of attaching Flmngr file manager to file fields.
 */
class N1edFileField implements TrustedCallbackInterface {

  /**
   * Get trusted callbacks list.
   */
  public static function trustedCallbacks() {
    return ['preRenderWidget'];
  }

  /**
   * Processes widget form.
   */
  public static function processWidget(
    $element,
    $form_state,
    $form
  ) {
    $element['n1ed_file_field'] = [
      '#type' => 'hidden',
      '#attributes' => [
        'class' => ['n1ed-file-field-filefield'],
        'data-extensions' =>
        $element['#upload_validators']['file_validate_extensions'][0],
        'data-multiple' => $element['#multiple'] ? 1 : 0,
      ],
    ];
    $element['#attached']['library'][] = 'n1ed/drupal.n1ed.filefield';
    $element['#pre_render'][] = [get_called_class(), 'preRenderWidget'];

    return $element;
  }

  /**
   * Pre-renders widget form.
   */
  public static function preRenderWidget($element) {
    // Hide elements if there is already an uploaded file.
    if (!empty($element['#value']['fids'])) {
      $element['n1ed_file_field']['#access'] = FALSE;
    }
    return $element;
  }

}

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

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