You are here

public function FileModuleTestForm::buildForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/file/tests/file_module_test/src/Form/FileModuleTestForm.php \Drupal\file_module_test\Form\FileModuleTestForm::buildForm()
  2. 10 core/modules/file/tests/file_module_test/src/Form/FileModuleTestForm.php \Drupal\file_module_test\Form\FileModuleTestForm::buildForm()

Parameters

array $form: An associative array containing the structure of the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

bool $tree: (optional) If the form should use #tree. Defaults to TRUE.

bool $extended: (optional) If the form should use #extended. Defaults to TRUE.

bool $multiple: (optional) If the form should use #multiple. Defaults to FALSE.

array $default_fids: (optional) Any default file IDs to use.

Overrides FormInterface::buildForm

File

core/modules/file/tests/file_module_test/src/Form/FileModuleTestForm.php, line 38

Class

FileModuleTestForm
Form controller for file_module_test module.

Namespace

Drupal\file_module_test\Form

Code

public function buildForm(array $form, FormStateInterface $form_state, $tree = TRUE, $extended = TRUE, $multiple = FALSE, $default_fids = NULL) {
  $form['#tree'] = (bool) $tree;
  $form['nested']['file'] = [
    '#type' => 'managed_file',
    '#title' => $this
      ->t('Managed <em>@type</em>', [
      '@type' => 'file & butter',
    ]),
    '#upload_location' => 'public://test',
    '#progress_message' => $this
      ->t('Please wait...'),
    '#extended' => (bool) $extended,
    '#size' => 13,
    '#multiple' => (bool) $multiple,
  ];
  if ($default_fids) {
    $default_fids = explode(',', $default_fids);
    $form['nested']['file']['#default_value'] = $extended ? [
      'fids' => $default_fids,
    ] : $default_fids;
  }
  $form['textfield'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Type a value and ensure it stays'),
  ];
  $form['submit'] = [
    '#type' => 'submit',
    '#value' => $this
      ->t('Save'),
  ];
  return $form;
}