Andrew Fletcher published: 18 November 2020 1 minute read
Loading the node
To query the node, I prefer to create a series of functions to mange the process in a class. However, keeping this simple, this can be achieved through:
$node = \Drupal\node\Entity\Node::load($nid);
Otherwise if you require to load multiple nodes, where the list of node.nids is in an array.
$nodes = \Drupal::entityTypeManager()->getStorage('node');
$this->list = $nodes->loadMultiple($this->nids);
Whereas, if you are looking to query the node database for nid(s)
$this->query = \Drupal::entityQuery('node'); // limit the query to a type if (!is_null($this->entity_type)) { $this->query->condition('type', $this->entity_type); } // debug the query // $this->query->addTag('debug'); // execute the query $nids = $this->query->execute();
Using the node data
Accessing the loaded node values is via the following queries:
$node->get("field_name")->getValue();
Loading common variables such as the title or did you can shorten the query:
$nid = $node->id(); $title = $node->label();
or
$title = $node->getTitle();
Related articles
Andrew Fletcher
•
22 Apr 2024
Streamlined Drupal 10 Deployment: Best Practices for Stability and Security
Have you ever walked into a situation and marveled at how a site is still operational? Deployments that are riddled with fail-safes piled atop a shaky foundation. The real challenge lies in gradually persuading the team to embrace change to build a stable, robust deployment process aligned with...
Andrew Fletcher
•
21 Apr 2024
This command will help you spot any unusually large directories
The red flag was when I saw the server disk space is showing a site is taking up 57992.5 MB, where locally the site size is showing 957MB. There is something serious happening here and I need to establish the problem quickly. When dealing with a significant discrepancy in site size...
Andrew Fletcher
•
19 Apr 2024
Extending a Contrib Module's Configuration in Drupal 10: A Case Study with Sitewide Alert
Extending the functionality of a contrib module in Drupal can enhance its usefulness without altering the original codebase. This article provides a step-by-step guide on how to add custom configuration options to an existing contrib module, using the sitewide_alert module as an example. We will...