You are here

public function DsFieldTemplateBase::alterForm in Display Suite 8.2

Same name and namespace in other branches
  1. 8.4 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.

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'] = array(
    '#type' => 'textfield',
    '#title' => $this
      ->t('Label'),
    '#size' => '10',
    '#default_value' => $config['lb'],
  );
  $form['lb-col'] = array(
    '#type' => 'checkbox',
    '#title' => $this
      ->t('Show label colon'),
    '#default_value' => $config['lb-col'],
    '#attributes' => array(
      'class' => array(
        'colon-checkbox',
      ),
    ),
  );
  $field_classes = Ds::getClasses('field');
  if (!empty($field_classes)) {
    $form['classes'] = array(
      '#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'] = array(
      '#type' => 'value',
      '#value' => array(),
    );
  }
}