Cómo obtener un nodo por su nid con Drupal 8 y Drupal 9

Client
  • Omitsis
Technologies
Services
Date
  • 14/06/2019

Algo básico en Drupal 8 y Drupal 9 (que es casi lo mismo) cuando estamos programando es obtener (load) un nodo según su id. Antes en Drupal 7 esto se hacía así:

1$nid = 123; // valor de ejemplo2$node = node_load($nid);

Ahora en Drupal 8 cuando empiezas todo parece que se complica más y además se puede hacer de varias maneras:

1$nid = 123; // valor de ejemplo2$node_storage = \Drupal::entityTypeManager()->getStorage('node');3$node = $node_storage->load($nid);

O en versión de una sola línea

1$nid = 123; // valor de ejemplo2$node = \Drupal::entityTypeManager()->getStorage('node')->load($nid);

O en la versión que se parece mucho a Drupal 7:

1$nid = 123; // valor de ejemplo2$node = \Drupal\node\Entity\Node::load($nid);

Y si esto lo vas a hacer múltiples veces es mejor que declares el namespace con use y así podamos escribir menos. Esto hazlo arriba del fichero php dónde luego uses Node.

1use Drupal\node\Entity\Node;2​3$nid = 123; // valor de ejemplo4$node = Node::load($nid);
JU

julia

manager

Recent Posts