public function TaxonomyBreadcrumbAdminSettings::buildForm in Taxonomy Breadcrumb 8
Form constructor.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Return value
array The form structure.
Overrides ConfigFormBase::buildForm
File
- src/
Form/ TaxonomyBreadcrumbAdminSettings.php, line 32
Class
- TaxonomyBreadcrumbAdminSettings
- Class TaxonomyBreadcrumbAdminSettings.
Namespace
Drupal\taxonomy_breadcrumb\FormCode
public function buildForm(array $form, FormStateInterface $form_state) {
$form['settings'] = [
'#type' => 'details',
'#title' => $this
->t('Basic settings'),
'#open' => TRUE,
];
$form['settings']['taxonomy_breadcrumb_home'] = [
'#type' => 'textfield',
'#title' => $this
->t('Home breadcrumb text'),
'#default_value' => \Drupal::config('taxonomy_breadcrumb.settings')
->get('taxonomy_breadcrumb_home'),
'#description' => $this
->t('Text to display at top of breadcrumb trail. Typically home or your site name. Leave blank to have no home breadcrumb.'),
];
$form['settings']['taxonomy_breadcrumb_page_title'] = [
'#type' => 'checkbox',
'#title' => $this
->t('Show current page title in breadcrumb trail'),
'#default_value' => \Drupal::config('taxonomy_breadcrumb.settings')
->get('taxonomy_breadcrumb_page_title'),
'#description' => $this
->t("If enabled, the page title will be added as the last item in the breadcrumb trail."),
'#weight' => 30,
];
$form['advanced'] = [
'#type' => 'details',
'#description' => $this
->t('Use these advanced settings to control which node types the taxonomy-based breadcrumbs will be generated for. This allows the taxonomy breadcrumb module to peacefully coexist with modules that define their own breadcrumbs, such as the book module.'),
'#title' => $this
->t('Advanced settings'),
'#open' => TRUE,
];
$form['advanced']['taxonomy_breadcrumb_include_nodes'] = [
'#type' => 'radios',
'#title' => $this
->t('Include or exclude the following node types'),
'#default_value' => \Drupal::config('taxonomy_breadcrumb.settings')
->get('taxonomy_breadcrumb_include_nodes'),
'#options' => [
1 => $this
->t('Include'),
0 => $this
->t('Exclude'),
],
'#weight' => 10,
];
$tb_types = (array) \Drupal::config('taxonomy_breadcrumb.settings')
->get('taxonomy_breadcrumb_node_types');
$default = [];
foreach ($tb_types as $index => $value) {
if ($value) {
$default[] = $index;
}
}
$form['advanced']['taxonomy_breadcrumb_node_types'] = [
'#type' => 'checkboxes',
'#title' => $this
->t('Node types to include or exclude'),
'#default_value' => $default,
'#options' => node_type_get_names(),
'#description' => $this
->t('A list of node types to include or exclude when applying taxonomy-based breadcrumbs.'),
'#weight' => 20,
];
return parent::buildForm($form, $form_state);
}