function TermDevelGenerate::settingsForm
Same name in other branches
- 4.x devel_generate/src/Plugin/DevelGenerate/TermDevelGenerate.php \Drupal\devel_generate\Plugin\DevelGenerate\TermDevelGenerate::settingsForm()
Overrides DevelGenerateBase::settingsForm
File
-
devel_generate/
src/ Plugin/ DevelGenerate/ TermDevelGenerate.php, line 92
Class
- TermDevelGenerate
- Provides a TermDevelGenerate plugin.
Namespace
Drupal\devel_generate\Plugin\DevelGenerateCode
public function settingsForm(array $form, FormStateInterface $form_state) : array {
$options = [];
foreach ($this->vocabularyStorage
->loadMultiple() as $vocabulary) {
$options[$vocabulary->id()] = $vocabulary->label();
}
// Sort by vocabulary label.
asort($options);
// Set default to 'tags' only if it exists as a vocabulary.
$default_vids = array_key_exists('tags', $options) ? 'tags' : '';
$form['vids'] = [
'#type' => 'select',
'#multiple' => TRUE,
'#title' => $this->t('Vocabularies'),
'#required' => TRUE,
'#default_value' => $default_vids,
'#options' => $options,
'#description' => $this->t('Restrict terms to these vocabularies.'),
];
$form['num'] = [
'#type' => 'number',
'#title' => $this->t('Number of terms'),
'#default_value' => $this->getSetting('num'),
'#required' => TRUE,
'#min' => 0,
];
$form['title_length'] = [
'#type' => 'number',
'#title' => $this->t('Maximum number of characters in term names'),
'#default_value' => $this->getSetting('title_length'),
'#required' => TRUE,
'#min' => 2,
'#max' => 255,
];
$form['minimum_depth'] = [
'#type' => 'number',
'#title' => $this->t('Minimum depth for new terms in the vocabulary hierarchy'),
'#description' => $this->t('Enter a value from 1 to 20.'),
'#default_value' => $this->getSetting('minimum_depth'),
'#min' => 1,
'#max' => 20,
];
$form['maximum_depth'] = [
'#type' => 'number',
'#title' => $this->t('Maximum depth for new terms in the vocabulary hierarchy'),
'#description' => $this->t('Enter a value from 1 to 20.'),
'#default_value' => $this->getSetting('maximum_depth'),
'#min' => 1,
'#max' => 20,
];
$form['kill'] = [
'#type' => 'checkbox',
'#title' => $this->t('Delete existing terms in specified vocabularies before generating new terms.'),
'#default_value' => $this->getSetting('kill'),
];
// Add the language and translation options.
$form += $this->getLanguageForm('terms');
return $form;
}