function UserHooks::jsSettingsAlter

Implements hook_js_settings_alter().

Attributes

#[Hook('js_settings_alter')]

File

core/modules/user/src/Hook/UserHooks.php, line 114

Class

UserHooks
Hook implementations for user.

Namespace

Drupal\user\Hook

Code

public function jsSettingsAlter(&$settings, AttachedAssetsInterface $assets) : void {
  // Provide the user ID in drupalSettings to allow JavaScript code to
  // customize the experience for the end user, rather than the server side,
  // which would break the render cache.
  // Similarly, provide a permissions hash, so that permission-dependent data
  // can be reliably cached on the client side.
  $user = \Drupal::currentUser();
  $settings['user']['uid'] = $user->id();
  $settings['user']['permissionsHash'] = \Drupal::service('user_permissions_hash_generator')->generate($user);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.