standard_install()
Implements hook_install().
Perform actions to set up the site for this profile.
See also
File
- core/profiles/standard/standard.install, line 19
- Install, update and uninstall functions for the standard installation profile.
Code
function standard_install() { // Set front page to "node". \Drupal::configFactory()->getEditable('system.site')->set('page.front', '/node')->save(TRUE); // Allow visitor account creation with administrative approval. $user_settings = \Drupal::configFactory()->getEditable('user.settings'); $user_settings->set('register', USER_REGISTER_VISITORS_ADMINISTRATIVE_APPROVAL)->save(TRUE); // Enable default permissions for system roles. user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, array('access comments')); user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, array('access comments', 'post comments', 'skip comment approval')); // Assign user 1 the "administrator" role. $user = User::load(1); $user->roles[] = 'administrator'; $user->save(); // We install some menu links, so we have to rebuild the router, to ensure the // menu links are valid. \Drupal::service('router.builder')->rebuildIfNeeded(); // Enable the Contact link in the footer menu. /** @var \Drupal\Core\Menu\MenuLinkManagerInterface $menu_link_manager */ $menu_link_manager = \Drupal::service('plugin.manager.menu.link'); $menu_link_manager->updateDefinition('contact.site_page', array('enabled' => TRUE)); user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, array('access site-wide contact form')); user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, array('access site-wide contact form')); // Allow authenticated users to use shortcuts. user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, array('access shortcuts')); // Populate the default shortcut set. $shortcut = Shortcut::create(array( 'shortcut_set' => 'default', 'title' => t('Add content'), 'weight' => -20, 'link' => array('uri' => 'internal:/node/add'), )); $shortcut->save(); $shortcut = Shortcut::create(array( 'shortcut_set' => 'default', 'title' => t('All content'), 'weight' => -19, 'link' => array('uri' => 'internal:/admin/content'), )); $shortcut->save(); // Allow all users to use search. user_role_grant_permissions(RoleInterface::ANONYMOUS_ID, array('search content')); user_role_grant_permissions(RoleInterface::AUTHENTICATED_ID, array('search content')); // Enable the admin theme. \Drupal::configFactory()->getEditable('node.settings')->set('use_admin_theme', TRUE)->save(TRUE); }
Please login to continue.