public function BynderFormatter::settingsForm in Bynder 8.3
Same name and namespace in other branches
- 8 src/Plugin/Field/FieldFormatter/BynderFormatter.php \Drupal\bynder\Plugin\Field\FieldFormatter\BynderFormatter::settingsForm()
- 8.2 src/Plugin/Field/FieldFormatter/BynderFormatter.php \Drupal\bynder\Plugin\Field\FieldFormatter\BynderFormatter::settingsForm()
- 4.0.x src/Plugin/Field/FieldFormatter/BynderFormatter.php \Drupal\bynder\Plugin\Field\FieldFormatter\BynderFormatter::settingsForm()
Returns a form to configure settings for the formatter.
Invoked from \Drupal\field_ui\Form\EntityDisplayFormBase to allow administrators to configure the formatter. The field_ui module takes care of handling submitted form values.
Parameters
array $form: The form where the settings form is being included in.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form elements for the formatter settings.
Overrides FormatterBase::settingsForm
File
- src/
Plugin/ Field/ FieldFormatter/ BynderFormatter.php, line 38
Class
- BynderFormatter
- Plugin implementation of the 'Bynder' formatter.
Namespace
Drupal\bynder\Plugin\Field\FieldFormatterCode
public function settingsForm(array $form, FormStateInterface $form_state) {
$elements = parent::settingsForm($form, $form_state);
try {
$derivatives = array_merge([
'mini',
'webimage',
'thul',
], array_map(function ($item) {
return $item['prefix'];
}, $this->bynder
->getDerivatives()));
} catch (ConnectException $e) {
$derivatives = [];
}
$elements['thumbnail'] = [
'#type' => 'select',
'#options' => array_combine($derivatives, $derivatives),
'#title' => $this
->t('Derivative'),
'#description' => $this
->t('Select the name of the derivative to be used to display the image. Besides custom derivatives that you created in Bynder there are also default thumbnail sizes available that can be used. Go to @form and reload derivatives.', [
'@form' => Link::createFromRoute($this
->t('Bynder configuration form'), 'bynder.configuration_form')
->toString(),
]),
'#default_value' => $this
->getSetting('thumbnail'),
];
$field_candidates = $this
->getAttributesFieldsCandidates();
$elements['alt_field'] = [
'#type' => 'select',
'#options' => $field_candidates,
'#title' => $this
->t('Alt attribute field'),
'#description' => $this
->t('Select the name of the field that should be used for the "alt" attribute of the image.'),
'#default_value' => $this
->getSetting('alt_field'),
'#empty_value' => '',
];
$elements['title_field'] = [
'#type' => 'select',
'#options' => $field_candidates,
'#title' => $this
->t('Title attribute field'),
'#description' => $this
->t('Select the name of the field that should be used for the "title" attribute of the image.'),
'#default_value' => $this
->getSetting('title_field'),
'#empty_value' => '',
];
return $elements;
}