You are here

public function DsFieldTemplateBase::alterForm in Display Suite 8.4

Same name and namespace in other branches
  1. 8.2 src/Plugin/DsFieldTemplate/DsFieldTemplateBase.php \Drupal\ds\Plugin\DsFieldTemplate\DsFieldTemplateBase::alterForm()
  2. 8.3 src/Plugin/DsFieldTemplate/DsFieldTemplateBase.php \Drupal\ds\Plugin\DsFieldTemplate\DsFieldTemplateBase::alterForm()

Lets you add you add additional form element for your layout.

Parameters

array $form: Nested array of form elements that comprise the form.

Overrides DsFieldTemplateInterface::alterForm

2 methods override DsFieldTemplateBase::alterForm()
Expert::alterForm in src/Plugin/DsFieldTemplate/Expert.php
Lets you add you add additional form element for your layout.
Reset::alterForm in src/Plugin/DsFieldTemplate/Reset.php
Lets you add you add additional form element for your layout.

File

src/Plugin/DsFieldTemplate/DsFieldTemplateBase.php, line 46

Class

DsFieldTemplateBase
Base class for all the ds plugins.

Namespace

Drupal\ds\Plugin\DsFieldTemplate

Code

public function alterForm(&$form) {
  $config = $this
    ->getConfiguration();
  $form['lb'] = [
    '#type' => 'textfield',
    '#title' => $this
      ->t('Label'),
    '#size' => '10',
    '#default_value' => $config['lb'],
  ];
  $form['lb-col'] = [
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Show label colon'),
    '#default_value' => $config['lb-col'],
    '#attributes' => [
      'class' => [
        'colon-checkbox',
      ],
    ],
  ];
  $field_classes = Ds::getClasses('field');
  if (!empty($field_classes)) {
    $form['classes'] = [
      '#type' => 'select',
      '#multiple' => TRUE,
      '#options' => $field_classes,
      '#title' => $this
        ->t('Choose additional CSS classes for the field'),
      '#default_value' => $config['classes'],
      '#prefix' => '<div class="field-classes">',
      '#suffix' => '</div>',
    ];
  }
  else {
    $form['classes'] = [
      '#type' => 'value',
      '#value' => [],
    ];
  }
}