3 namespace Drupal\layout_test\Plugin\Layout;
5 use Drupal\Core\Form\FormStateInterface;
6 use Drupal\layout_plugin\Plugin\Layout\LayoutBase;
9 * The plugin that handles the default layout template.
11 * @ingroup layout_template_plugins
14 * id = "layout_test_plugin",
15 * label = @Translation("Layout plugin (with settings)"),
16 * category = @Translation("Layout test"),
17 * description = @Translation("Test layout"),
18 * template = "templates/layout-test-plugin",
21 * "label" = @Translation("Main Region")
26 class LayoutTestPlugin extends LayoutBase {
31 public function defaultConfiguration() {
32 return parent::defaultConfiguration() + [
33 'setting_1' => 'Default',
40 public function buildConfigurationForm(array $form, FormStateInterface $form_state) {
41 $configuration = $this->getConfiguration();
42 $form['setting_1'] = [
43 '#type' => 'textfield',
45 '#default_value' => $configuration['setting_1'],
53 public function submitConfigurationForm(array &$form, FormStateInterface $form_state) {
54 parent::submitConfigurationForm($form, $form_state);
56 $this->configuration['setting_1'] = $form_state->getValue('setting_1');