You are here

public function AdminSettingsForm::buildForm in Entity Reference Hierarchy 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/AdminSettingsForm.php, line 43
Contains \Drupal\entity_hierarchy\Form\AdminSettingsForm.

Class

AdminSettingsForm
Defines a form for Entity Hierarchy Admin settings.

Namespace

Drupal\entity_hierarchy\Form

Code

public function buildForm(array $form, FormStateInterface $form_state) {
  $this->node_types = node_type_get_names();

  //    $config = $this->config('entity_hierarchy.settings');
  $hierarchy_manager = \Drupal::service('entity_hierarchy.manager');

  // Individual type settings.
  $form['entity_hierarchy_types'] = array(
    '#type' => 'fieldset',
    '#title' => $this
      ->t('Node Type Settings'),
    '#description' => $this
      ->t('Settings for individual node types. These can also be individually set for each content type.'),
  );
  foreach ($this->node_types as $key => $type) {

    // Individual type settings.
    $form['entity_hierarchy_types'][$key] = array(
      '#type' => 'details',
      '#title' => $type,
      '#open' => FALSE,
    );
    $form['entity_hierarchy_types'][$key] += $hierarchy_manager
      ->hierarchyGetNodeTypeSettingsForm($key, TRUE);
  }

  // Menu generation. Todo: implement later
  //    $form['entity_hierarchy_menu'] = array(
  //      '#type' => 'fieldset',
  //      '#title' => t('Entity Hierarchy Menu Generation'),
  //    );
  //    $form['entity_hierarchy_menu']['entity_hierarchy_default_menu_name'] = array(
  //      '#type' => 'select',
  //      '#title' => t('Default parent menu'),
  //      '#options' => array_keys(entity_load_multiple('menu')),
  //      '#default_value' => $config->get('entity_hierarchy_default_menu_name'),
  //      '#description' => t('If a menu is created for a node with no parent the new menu item will appear in this menu.'),
  //    );
  //
  //    $form['entity_hierarchy_menu']['entity_hierarchy_menu_module_edit'] = array(
  //      '#type' => 'checkbox',
  //      '#title' => t('Always show hidden Entity Hierarchy menu items on the menu overview forms.'),
  //      '#default_value' => $config->get('entity_hierarchy_menu_module_edit'),
  //      '#description' => t('Allow disabled entity_hierarchy menu items to be edited with regular menu items in the menu overview screen. Turn this off if large Entity Hierarchy menus are causing memory errors on menu edit screens.'),
  //    );
  return parent::buildForm($form, $form_state);
}