function domain_access_form_node_form_alter in Domain Access 8
Implements hook_form_BASE_FORM_ID_alter() for \Drupal\node\NodeForm.
Move Domain Access fields to an advanced tab like other node settings.
File
- domain_access/
domain_access.module, line 251 - Domain-based access control for content.
Code
function domain_access_form_node_form_alter(&$form, FormState $form_state, $form_id) {
$move_enabled = \Drupal::config('domain_access.settings')
->get('node_advanced_tab');
if ($move_enabled && isset($form[DomainAccessManagerInterface::DOMAIN_ACCESS_FIELD]) && isset($form[DomainAccessManagerInterface::DOMAIN_ACCESS_ALL_FIELD]) && empty($form[DomainAccessManagerInterface::DOMAIN_ACCESS_FIELD]['#group']) && empty($form[DomainAccessManagerInterface::DOMAIN_ACCESS_ALL_FIELD]['#group'])) {
// Move to the tabs on the entity form.
$form[DomainAccessManagerInterface::DOMAIN_ACCESS_FIELD]['#group'] = 'domain';
$form[DomainAccessManagerInterface::DOMAIN_ACCESS_ALL_FIELD]['#group'] = 'domain';
$form['domain'] = [
'#type' => 'details',
'#open' => (bool) \Drupal::config('domain_access.settings')
->get('node_advanced_tab_open'),
'#title' => t('Domain settings'),
'#group' => 'advanced',
'#attributes' => [
'class' => [
'node-form-options',
],
],
'#attached' => [
'library' => [
'node/drupal.node',
],
],
'#weight' => 100,
'#optional' => TRUE,
];
}
// Add the options hidden from the user silently to the form.
$manager = \Drupal::service('domain.element_manager');
$form = $manager
->setFormOptions($form, $form_state, DomainAccessManagerInterface::DOMAIN_ACCESS_FIELD);
}