Form constructor for adding and editing a forum.
\Drupal\taxonomy\Plugin\Core\Entity\Term $term: A forum term to be edited.
function forum_form_forum($form, &$form_state, Term $term) {
$form['name'] = array(
'#type' => 'textfield',
'#title' => t('Forum name'),
'#default_value' => $term->name->value,
'#maxlength' => 255,
'#description' => t('Short but meaningful name for this collection of threaded discussions.'),
'#required' => TRUE,
);
$form['description'] = array(
'#type' => 'textarea',
'#title' => t('Description'),
'#default_value' => $term->description->value,
'#description' => t('Description and guidelines for discussions within this forum.'),
);
$form['parent']['#tree'] = TRUE;
$form['parent'][0] = _forum_parent_select($term
->id(), t('Parent'), 'forum');
$form['weight'] = array(
'#type' => 'weight',
'#title' => t('Weight'),
'#default_value' => $term->weight->value,
'#description' => t('Forums are displayed in ascending order by weight (forums with equal weights are displayed alphabetically).'),
);
$form['vid'] = array(
'#type' => 'hidden',
'#value' => config('forum.settings')
->get('vocabulary'),
);
$form['actions'] = array(
'#type' => 'actions',
);
$form['actions']['submit'] = array(
'#type' => 'submit',
'#value' => t('Save'),
'#button_type' => 'primary',
'#submit' => array(
'forum_form_submit',
),
);
if (!$term
->isNew()) {
$form['actions']['delete'] = array(
'#type' => 'submit',
'#value' => t('Delete'),
'#submit' => array(
'forum_forum_delete',
),
);
$form['tid'] = array(
'#type' => 'value',
'#value' => $term
->id(),
);
}
$form['#theme'] = 'forum_form';
return $form;
}