function FileModuleTestForm::buildForm

Same name and namespace in other branches
  1. 8.9.x 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()
  3. 11.x 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;
}

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