public function ConfigureSectionForm::submitForm in Drupal 9
Same name and namespace in other branches
- 8 core/modules/layout_builder/src/Form/ConfigureSectionForm.php \Drupal\layout_builder\Form\ConfigureSectionForm::submitForm()
- 10 core/modules/layout_builder/src/Form/ConfigureSectionForm.php \Drupal\layout_builder\Form\ConfigureSectionForm::submitForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormInterface::submitForm
File
- core/
modules/ layout_builder/ src/ Form/ ConfigureSectionForm.php, line 172
Class
- ConfigureSectionForm
- Provides a form for configuring a layout section.
Namespace
Drupal\layout_builder\FormCode
public function submitForm(array &$form, FormStateInterface $form_state) {
// Call the plugin submit handler.
$subform_state = SubformState::createForSubform($form['layout_settings'], $form, $form_state);
$this
->getPluginForm($this->layout)
->submitConfigurationForm($form['layout_settings'], $subform_state);
// If this layout is context-aware, set the context mapping.
if ($this->layout instanceof ContextAwarePluginInterface) {
$this->layout
->setContextMapping($subform_state
->getValue('context_mapping', []));
}
$plugin_id = $this->layout
->getPluginId();
$configuration = $this->layout
->getConfiguration();
if ($this->isUpdate) {
$this->sectionStorage
->getSection($this->delta)
->setLayoutSettings($configuration);
}
else {
$this->sectionStorage
->insertSection($this->delta, new Section($plugin_id, $configuration));
}
$this->layoutTempstoreRepository
->set($this->sectionStorage);
$form_state
->setRedirectUrl($this->sectionStorage
->getLayoutBuilderUrl());
}