Andrew Fletcher published: 31 March 2022 (updated) 7 April 2022 1 minute read
How to get the current user or load a user using a uid value.
$current_user = \Drupal::currentUser();
$user = \Drupal\user\Entity\User::load($current_user->id());
or just use
$user = \Drupal\user\Entity\User::load(\Drupal::currentUser()->id());
An example of this in action
/**
* Change the display of the user's name.
*
* @param int $uid
* User id.
*
* @return string
* User name.
*/
function change_users_name($uid) {
// status of the current user
$logged_in = \Drupal::currentUser()->isAuthenticated();
$author = \Drupal\user\Entity\User::load($uid);
$first_name = $author->get('field_firstname')->value;
$last_name = $author->get('field_lastname')->value;
$user_url = Url::fromRoute('user.page', ['user' => $author->id()]);
$link = Link::fromTextAndUrl($last_name, $user_url)->toString();
return ($logged_in) ? $link : $first_name . " " . $last_name;
}
This can be further reduced where the line
$author = \Drupal\user\Entity\User::load($uid);
Becomes
$author = User::load($uid);
To make this change, you'll need to add at the top of the file
<?php
// ... other use references ... //
use Drupal\user\Entity\User;
Related articles
Andrew Fletcher
•
22 Nov 2023
Fatal error: Maximum execution time of 30 seconds exceeded in ...
When reloading a page, you may encounter the following error:Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/html/content/core/lib/Drupal/Core/{some file .php} on line n SolutionTo resolve this issue, you need to adjust the max_execution_time parameter in the php.ini...
Andrew Fletcher
•
22 Nov 2023
To use Pinecone, OpenAI and a language model chain to answer questions in documents
Overview of the elementsSet Up API KeysObtain API keys for Pinecone and OpenAI.Store the keys securely. Consider using a credentials.py file (as mentioned in a previous response). Install Required LibrariesInstall the necessary Python libraries, such as Pinecone's Python client...
Andrew Fletcher
•
16 Nov 2023
Drupal and AWS - over 300 simultaneous database connections
The issue of over 300 simultaneous database connections in the context of AWS and Drupal can have several potential causes. Here are some common factors to consider:Server ConfigurationCheck your server configuration to ensure it can handle the expected number of simultaneous connections. This...