public function TaxonomyTooltip::settingsForm in Glossify 8
Generates a filter's settings form.
Parameters
array $form: A minimally prepopulated form array.
\Drupal\Core\Form\FormStateInterface $form_state: The state of the (entire) configuration form.
Return value
array The $form array with additional form elements for the settings of this filter. The submitted form values should match $this->settings.
Overrides FilterBase::settingsForm
File
- modules/
glossify_taxonomy/ src/ Plugin/ Filter/ TaxonomyTooltip.php, line 32
Class
- TaxonomyTooltip
- Filter to find and process found taxonomy terms in the fields value.
Namespace
Drupal\glossify_taxonomy\Plugin\FilterCode
public function settingsForm(array $form, FormStateInterface $form_state) {
$vocab_options = [];
$vocabularies = Vocabulary::loadMultiple();
foreach ($vocabularies as $vocab) {
$vocab_options[$vocab
->id()] = $vocab
->get('name');
}
$form['glossify_taxonomy_case_sensitivity'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Case sensitive'),
'#description' => $this
->t('Whether or not the match is case sensitive.'),
'#default_value' => $this->settings['glossify_taxonomy_case_sensitivity'],
];
$form['glossify_taxonomy_first_only'] = [
'#type' => 'checkbox',
'#title' => $this
->t('First match only'),
'#description' => $this
->t('Match and link only the first occurance per field.'),
'#default_value' => $this->settings['glossify_taxonomy_first_only'],
];
$form['glossify_taxonomy_type'] = [
'#type' => 'radios',
'#title' => $this
->t('Type'),
'#required' => TRUE,
'#options' => [
'tooltips' => $this
->t('Tooltips'),
'links' => $this
->t('Links'),
'tooltips_links' => $this
->t('Tooltips and links'),
],
'#description' => $this
->t('How to show matches in content. Description as HTML5 tooltip (abbr element), link to description or both.'),
'#default_value' => $this->settings['glossify_taxonomy_type'],
];
$form['glossify_taxonomy_vocabs'] = [
'#type' => 'checkboxes',
'#multiple' => TRUE,
'#element_validate' => [
[
get_class($this),
'validateTaxonomyVocabs',
],
],
'#title' => $this
->t('Taxonomy vocabularies'),
'#description' => $this
->t('Select the taxonomy vocabularies you want to use term names from to link their term page.'),
'#options' => $vocab_options,
'#default_value' => explode(';', $this->settings['glossify_taxonomy_vocabs']),
];
$form['glossify_taxonomy_urlpattern'] = [
'#type' => 'textfield',
'#title' => $this
->t('URL pattern'),
'#description' => $this
->t('Url pattern, used for linking matched words. Accepts "[id]" as token. Example: "/taxonomy/term/[id]"'),
'#default_value' => $this->settings['glossify_taxonomy_urlpattern'],
];
return $form;
}