public function EntityReferenceFacetFormatterBase::settingsForm in Entity Reference Facet Link 8
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/ EntityReferenceFacetFormatterBase.php, line 108
Class
Namespace
Drupal\entity_reference_facet_link\Plugin\Field\FieldFormatterCode
public function settingsForm(array $form, FormStateInterface $form_state) {
/** @var \Drupal\facets\FacetInterface[] $facets */
$facets = $this->facetStorage
->loadMultiple();
$options = [];
foreach ($facets as $facet) {
// Add a facet to the options only if that facet is faceting this field.
if ($facet
->getFieldIdentifier() == $this->fieldDefinition
->getName()) {
$options[$facet
->id()] = $facet
->label();
}
}
$elements['facet'] = [
'#title' => $this
->t('Select the facet to which the labels should be linked.'),
'#type' => 'select',
'#default_value' => $this
->getSetting('facet'),
'#options' => $options,
];
return $elements;
}