You are here

function wysiwyg_template_form_node_type_form_alter in Wysiwyg API template plugin 3.0.x

Same name and namespace in other branches
  1. 8.2 wysiwyg_template.module \wysiwyg_template_form_node_type_form_alter()
  2. 7.2 wysiwyg_template.module \wysiwyg_template_form_node_type_form_alter()

Implements hook_form_FORM_ID_alter().

Adds WYSIWYG template selection as default node content.

See also

NodeTypeForm::form()

File

./wysiwyg_template.module, line 53

Code

function wysiwyg_template_form_node_type_form_alter(array &$form, FormStateInterface $form_state) {

  /** @var \Drupal\node\NodeTypeInterface $bundle */
  $bundle = $form_state
    ->getFormObject()
    ->getEntity();
  $templates = Template::loadByTypeAndBundle('node', $bundle
    ->id());
  $form['wysiwyg_template'] = [
    '#type' => 'details',
    '#title' => t('WYSIWYG template'),
    '#group' => 'additional_settings',
  ];
  $form['wysiwyg_template']['wysiwyg_template_default'] = [
    '#type' => 'select',
    '#options' => array_map(static function ($item) {
      return $item
        ->label();
    }, $templates),
    '#default_value' => $bundle
      ->getThirdPartySetting('wysiwyg_template', 'default_template'),
    '#title' => t('Default template for this content type'),
    '#empty_value' => '',
  ];
  $form['#entity_builders'][] = 'wysiwyg_template_form_node_type_form_builder';
}