lightning_page.module in Lightning Core 8.2
File
modules/lightning_page/lightning_page.module
View source
<?php
use Drupal\field\FieldConfigInterface;
use Drupal\node\Entity\NodeType;
use Drupal\workflows\Entity\Workflow;
function lightning_page_modules_installed(array $modules) {
if (Drupal::isConfigSyncing()) {
return;
}
if (in_array('lightning_workflow', $modules, TRUE)) {
$workflow = Workflow::load('editorial');
$plugin = $workflow
->getTypePlugin();
$plugin
->addEntityTypeAndBundle('node', 'page');
$workflow
->save();
}
if (in_array('menu_ui', $modules, TRUE)) {
NodeType::load('page')
->setThirdPartySetting('menu_ui', 'available_menus', [
'main',
])
->setThirdPartySetting('menu_ui', 'parent', 'main:')
->save();
}
}
function lightning_page_field_config_insert(FieldConfigInterface $field) {
if (\Drupal::isConfigSyncing()) {
return;
}
elseif ($field
->id() == 'node.page.field_meta_tags') {
entity_get_display('node', 'page', 'default')
->setComponent('field_meta_tags', [
'type' => 'metatag_empty_formatter',
'region' => 'content',
])
->save();
entity_get_form_display('node', 'page', 'default')
->setComponent('field_meta_tags', [
'type' => 'metatag_firehose',
'region' => 'content',
])
->save();
}
}