public function ViewsForm::buildForm in Drupal 9
Same name and namespace in other branches
- 8 core/modules/views/src/Form/ViewsForm.php \Drupal\views\Form\ViewsForm::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.
Return value
array The form structure.
Overrides FormInterface::buildForm
File
- core/
modules/ views/ src/ Form/ ViewsForm.php, line 144
Class
- ViewsForm
- Provides a base class for single- or multistep view forms.
Namespace
Drupal\views\FormCode
public function buildForm(array $form, FormStateInterface $form_state, ViewExecutable $view = NULL, $output = []) {
if (!($step = $form_state
->get('step'))) {
$step = 'views_form_views_form';
$form_state
->set('step', $step);
}
$form_state
->set([
'step_controller',
'views_form_views_form',
], 'Drupal\\views\\Form\\ViewsFormMainForm');
// Add the base form ID.
$form_state
->addBuildInfo('base_form_id', $this
->getBaseFormId());
$form = [];
$query = $this->requestStack
->getCurrentRequest()->query
->all();
$query = UrlHelper::filterQueryParameters($query, [], '');
$options = [
'query' => $query,
];
$form['#action'] = $view
->hasUrl() ? $view
->getUrl()
->setOptions($options)
->toString() : Url::fromRoute('<current>')
->setOptions($options)
->toString();
// Tell the preprocessor whether it should hide the header, footer, pager,
// etc.
$form['show_view_elements'] = [
'#type' => 'value',
'#value' => $step == 'views_form_views_form' ? TRUE : FALSE,
];
$form_object = $this
->getFormObject($form_state);
$form += $form_object
->buildForm($form, $form_state, $view, $output);
return $form;
}