public function Blocks::submitConfigurationForm in Context 8
Same name and namespace in other branches
- 8.4 src/Plugin/ContextReaction/Blocks.php \Drupal\context\Plugin\ContextReaction\Blocks::submitConfigurationForm()
- 8.0 src/Plugin/ContextReaction/Blocks.php \Drupal\context\Plugin\ContextReaction\Blocks::submitConfigurationForm()
Form submission handler.
Parameters
array $form: An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().
Overrides PluginFormInterface::submitConfigurationForm
File
- src/
Plugin/ ContextReaction/ Blocks.php, line 635
Class
- Blocks
- Provides a content reaction that will let you place blocks in the current themes regions.
Namespace
Drupal\context\Plugin\ContextReactionCode
public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
$blocks = $form_state
->getValue([
'blocks',
'blocks',
], []);
// Save configuration for including default blocks.
$config = $this
->getConfiguration();
$config['include_default_blocks'] = $form_state
->getValue([
'blocks',
'include_default_blocks',
], FALSE);
$this
->setConfiguration($config);
if (is_array($blocks)) {
foreach ($blocks as $block_id => $configuration) {
$block = $this
->getBlock($block_id);
$configuration += $block
->getConfiguration();
$block_state = (new FormState())
->setValues($configuration);
$block
->submitConfigurationForm($form, $block_state);
// If the block is context aware then add context mapping to the block.
if ($block instanceof ContextAwarePluginInterface) {
$block
->setContextMapping($block_state
->getValue('context_mapping', []));
}
$this
->updateBlock($block_id, $block_state
->getValues());
}
}
}