headless_cms-1.0.3/src/HeadlessCmsUtility.php
src/HeadlessCmsUtility.php
<?php
declare(strict_types=1);
namespace Drupal\headless_cms;
use Drupal\Core\StringTranslation\TranslatableMarkup;
/**
* Provides various utility functions for headless CMS module.
*/
class HeadlessCmsUtility {
/**
* Alters the consumer form.
*
* Adds the structural elements for the headless CMS settings
* in the consumer form.
*/
public static function alterConsumerForm(array &$form) {
if (!isset($form['#attached']['library'])) {
$form['#attached']['library'] = [];
}
if (!in_array('headless_cms/form', $form['#attached']['library'])) {
$form['#attached']['library'][] = 'headless_cms/form';
}
// Other modules may have already added the additional settings tab.
if (!isset($form['additional_settings'])) {
$form['additional_settings'] = [
'#type' => 'vertical_tabs',
'#title' => new TranslatableMarkup('Additional Settings'),
'#weight' => 7,
];
}
// Other modules may have already added the headless cms settings.
if (!isset($form['additional_settings']['headless_cms_settings'])) {
$form['additional_settings']['headless_cms_settings'] = [
'#type' => 'details',
'#title' => new TranslatableMarkup('Headless CMS'),
'#open' => TRUE,
'#group' => 'additional_settings',
];
}
}
}
