function contact_emails_form_contact_form_edit_form_alter in Contact Emails 8
Implements hook_form_FORM_ID_alter().
Throws
\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException
\Drupal\Component\Plugin\Exception\PluginNotFoundException
File
- ./
contact_emails.module, line 77 - Contains contact_emails.module..
Code
function contact_emails_form_contact_form_edit_form_alter(&$form, FormStateInterface $form_state, $form_id) {
if (isset($form['id']['#default_value'])) {
$contact_form_id = $form['id']['#default_value'];
/** @var \Drupal\contact_emails\ContactEmailStorageInterface $storage */
$storage = \Drupal::entityTypeManager()
->getStorage('contact_email');
// Disable default contact email if we have at least one contact_emails
// email added.
if ($storage
->hasContactEmails($contact_form_id)) {
if (isset($form['recipients'])) {
$form['recipients']['#type'] = 'hidden';
}
if (isset($form['reply'])) {
$form['reply']['#type'] = 'hidden';
}
$form['manage_emails'] = [
'#type' => 'link',
'#title' => t('Emails for this form are managed here.'),
'#url' => Url::fromRoute("entity.contact_email.collection", [
'contact_form' => $contact_form_id,
]),
'#weight' => 100,
];
}
else {
$form['manage_emails'] = [
'#type' => 'link',
'#title' => t('Set up multiple emails for this form.'),
'#url' => Url::fromRoute("entity.contact_email.collection", [
'contact_form' => $contact_form_id,
]),
'#weight' => 100,
];
}
}
}