function LanguageNegotiationSession::persist
Overrides LanguageNegotiationMethodBase::persist
File
- 
              core/
modules/ language/ src/ Plugin/ LanguageNegotiation/ LanguageNegotiationSession.php, line 68  
Class
- LanguageNegotiationSession
 - Identify language from a request/session parameter.
 
Namespace
Drupal\language\Plugin\LanguageNegotiationCode
public function persist(LanguageInterface $language) {
  // We need to update the session parameter with the request value only if we
  // have an authenticated user.
  $langcode = $language->getId();
  if ($langcode && $this->languageManager) {
    $languages = $this->languageManager
      ->getLanguages();
    if ($this->currentUser
      ->isAuthenticated() && isset($languages[$langcode])) {
      $config = $this->config
        ->get('language.negotiation')
        ->get('session');
      $_SESSION[$config['parameter']] = $langcode;
    }
  }
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.