function shortcut_install
Same name and namespace in other branches
- 11.x core/modules/shortcut/shortcut.install \shortcut_install()
- 10 core/modules/shortcut/shortcut.install \shortcut_install()
- 9 core/modules/shortcut/shortcut.install \shortcut_install()
- 8.9.x core/modules/shortcut/shortcut.install \shortcut_install()
- 7.x modules/shortcut/shortcut.install \shortcut_install()
Implements hook_install().
File
-
core/
modules/ shortcut/ shortcut.install, line 55
Code
function shortcut_install(bool $is_syncing) : void {
// Theme settings are not configuration entities and cannot depend on modules
// so to set a module-specific setting, we need to set it with logic.
if (\Drupal::service('theme_handler')->themeExists('claro')) {
\Drupal::configFactory()->getEditable("claro.settings")
->set('third_party_settings.shortcut.module_link', TRUE)
->save();
}
if (\Drupal::service('theme_handler')->themeExists('olivero')) {
\Drupal::configFactory()->getEditable("olivero.settings")
->set('third_party_settings.shortcut.module_link', TRUE)
->save();
}
// Add the shortcuts block to the navigation layout if Navigation is already
// installed. When both are installed in the same request,
// navigation_install() may have already added the block via invokeAll(),
// so check for duplicates.
if (!$is_syncing && \Drupal::moduleHandler()->moduleExists('navigation')) {
$config = \Drupal::configFactory()->get('navigation.block_layout');
if (!$config->isNew()) {
$already_exists = FALSE;
foreach ($config->get('sections') ?? [] as $section) {
foreach ($section['components'] ?? [] as $component) {
if (isset($component['configuration']['id']) && $component['configuration']['id'] === 'navigation_shortcuts') {
$already_exists = TRUE;
break 2;
}
}
}
if (!$already_exists) {
\Drupal::service('plugin.manager.config_action')->applyAction('addNavigationBlock', 'navigation.block_layout', [
'region' => 'content',
'configuration' => [
'id' => 'navigation_shortcuts',
'label' => 'Shortcuts',
'label_display' => '0',
'provider' => 'shortcut',
],
'weight' => 0,
'additional' => [],
]);
}
}
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.