function FileModuleTestForm::buildForm

Form constructor.

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.

Return value

array The form structure.

Overrides FormInterface::buildForm

File

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

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',
    ]),
    '#description' => $this->t('Upload a <em>@type</em> file', [
      '@type' => 'file & butter',
    ]),
    '#upload_location' => 'public://test',
    '#progress_message' => $this->t('Processing...'),
    '#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;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.