sector_events-3.0.x-dev/sector_events.install
sector_events.install
<?php
/**
* @file
* Contains install tasks for the sector_events.module.
*/
use Drupal\block\Entity\Block;
/**
* Implements hook_install
*
* Adds permissions to the content editor role.
* Creates the default xmlsitemap settings for the event content type.
*/
function sector_events_install() {
user_role_grant_permissions(
'content_editor',
[
'create event content',
'delete any event content',
'delete own event content',
'edit any event content',
'edit own event content',
'revert event revisions',
'view event revisions',
]
);
user_role_grant_permissions(
'content_administrator',
[
'create event content',
'delete any event content',
'delete own event content',
'edit any event content',
'edit own event content',
'revert event revisions',
'view event revisions',
]
);
// Check Xmlsitemap module is enabled.
$moduleHandler = \Drupal::service('module_handler');
if($moduleHandler->moduleExists('xmlsitemap')) {
// Default data array for events.
$data = [
'status' => TRUE,
'priority' => 0.5,
'changefreq' => 86400,
];
// Load the config and save our default data.
\Drupal::configFactory()->getEditable("xmlsitemap.settings.node.event")->setData($data)->save();
}
// Create the block for sector events.
$block = Block::create([
'id' => 'sector_event_event_type',
'langcode' => 'en',
'status' => 'true',
'third_party_settings' => [
'block_class' => [
'classes' => 'd-inline-flex badge badge-secondary mb-4'
]
],
'theme' => 'sector_radix_starter',
'region' => 'pre_content',
'weight' => -16,
'provider' => 'null',
'plugin' => 'fieldblock:node',
'settings' => [
'id' => 'fieldblock:node',
'label' => 'Event type',
'provider' => 'fieldblock',
'label_display' => 0,
'label_from_field' => 1,
'field_name' => 'field_event_category',
'formatter_id' => 'entity_reference_label',
'formatter_settings' => [
'link' => 0
],
],
'visibility' => [
'node_type' => [
'id' => 'node_type',
'bundles' => [
'event' => 'event'
],
'negate' => false,
'context_mapping' => [
'node' => '@node.node_route_context:node',
]
],
'term' => [
'id' => 'term',
'negate' => false,
'tid' => null,
'context_mapping' => []
],
]
]);
// Save the block.
$block->save();
}
