function contact_ajax_form_contact_message_form_alter in Contact ajax 8
Implements hook_form_FORM_ID_alter() for contact_form_form().
File
- ./
contact_ajax.module, line 188 - Overrides core contact form functionality
Code
function contact_ajax_form_contact_message_form_alter(&$form, &$form_state, $form_id) {
/** @var \Drupal\Core\Entity\ContentEntityForm $form_object */
$form_object = $form_state
->getFormObject();
/* @var \Drupal\contact\MessageInterface $contact_message */
$contact_message = $form_object
->getEntity();
$contact_form = ContactForm::load($contact_message
->bundle());
/** @var \Drupal\Core\Entity\Display\EntityFormDisplayInterface $form_mode */
if ($form_object instanceof MessageForm) {
$ajax_enabled = $contact_form
->getThirdPartySetting('contact_ajax', 'enabled', FALSE);
$prefix_id = $contact_form
->getThirdPartySetting('contact_ajax', 'prefix_id');
$element_id = $prefix_id ? $prefix_id : CONTACT_AJAX_PREFIX . $form_id;
if ($ajax_enabled) {
$form['#prefix'] = '<div id="' . $element_id . '">';
$form['#suffix'] = '</div>';
// Adjust the form to use ajax submit.
$form['actions']['submit']['#ajax'] = [
'callback' => 'contact_ajax_contact_site_form_ajax_callback',
'wrapper' => $element_id,
'effect' => 'fade',
];
if (\Drupal::moduleHandler()
->moduleExists('views')) {
$form['#attached']['library'][] = 'views/views.ajax';
}
}
}
}