
Hola ¿que tal?.
En ocasiones cuando vamos a programar algún módulo, tenemos la necesidad de buscar un nódo programáticamente a través de su id de contenido (nid).
En ese sentido Drupal 8/9 tienen muchas maneras para que el programador pueda buscar un nodo.
Requesitos:
Instalar los siguientes módulos:
https://www.drupal.org/project/devel
https://www.drupal.org/project/devel_php
Luego que instalen estos módulos, hay que ir a la url: /admin/config/development/devel
y ahí seleccionar la opción:
3) poner los códigos que vamos a enseñar.
4) presionar el botón de ejecutar.
A partir de ahora, vamos a ver las diferentes maneras de buscar un nódo:
forma 1:
$nid = 1; // valor de ejemplo
$node = \Drupal\node\Entity\Node::load($nid);
dpm($node->title->value); //la funcion dpm es del modulo devel y permite mostrar informacion.
//valor del body
dpm($node->body->value);
forma 2:
//usando el namespace arriba con la palabra use.
use \Drupal\node\Entity\Node;
$nid = 1; // valor de ejemplo
$node = Node::load($nid);
dpm($node->title->value);
dpm($node->body->value);
forma 3:
$nid = 1; // valor de ejemplo
$node = \Drupal::entityTypeManager()->getStorage('node')->load($nid);
dpm($node->title->value);
dpm($node->body->value);
en cada uno de los casos anteriores: drupal nos mostrará un resultado parecido al siguiente:
forma 4:
si queremos cargar multiples nodos les enseñaremos como:
pero en este caso de ejemplo: debemos crear otro nodo que en este caso de ejemplo se
supongamos que ahora tengo dos nodos (id 1 y el 2);
$nids = [1,2]; // valores de ejemplo
$nodes = \Drupal\node\Entity\Node::loadMultiple($nids);
foreach ($nodes as $node) {
dpm($node->title->value);
}
el resultado sera algo parecido a este:
Espero que les haya gustado.
Asi que sin masssss, nos veremos en la próxima.
Saludos y Dios les bendiga.
Déjenme sus comentarios si quieren que hablemos de algo en específico.
test