Iterando con los nodos.

Categoría
$nodo->funcion();

Leer Nodo

use Drupal\node\Entity\Node;
$nodo = Node::load( nid );
ksm( $nodo );

Funciones importantes

  • id() Trae el Id del Nodo
  • bundle() Trayendo el subtipo de una entidad o bundle
  • isNew() Es nuevo
  • label() Trae el Título
  • url() Trae la Url del Nodo
  • createDuplicate() crea un nodo duplicado.
$nodo->funcion();

Obtener Campo en Particular forma larga

Existen campos normales y existen campos de referencia.

use Drupal\node\Entity\Node;
$nodo = Node::load( nid );
ksm( $nodo );

dpm( $nodo->get('title')->getValue() );
// Se debe agregar todo el vector [0]['value']

dpm( $nodo->get('uid')->getValue() );
// Los campos referenciados manejan el target_id

Obtener Campo en Particular forma corta

$nodo->get('title')->value;
$nodo->get('uid')->target_id; 

Editando los nodos

use Drupal\node\Entity\Node;
$nodo = Node::load( nid );
ksm( $nodo );

$nodo->get('title')->value = 'Nuevo Título';
$nodo->get('body')->value = 'Nuevo Body';
$nodo->get('uid')->target_id = 0;

$nodo->save();
drupal_set_message(t('datos guardados correctamente'));

Creandos nodos

use Drupal\node\Entity\Node;

$nodo = entity_create('node', array(
    'title' => 'Segundo Nodo',
    'body' => 'Cuerpo del mensaje creado',
    'type' => 'article',
    'uid' => 1
));
$nodo->save();

drupal_set_message('Nodo Creado'.$nodo->id() );

/* Otra Manera de Realizarlo */
$my_article = Node::create(['type' => 'article']);
$my_article->set('title', 'My article');
$my_article->set('field_text', 'My text');
$my_article->set('field_image', FID);
$my_article->set('field_user', UID);
$my_article->enforceIsNew();
$my_article->save();

Eliminando nodos

use Drupal\node\Entity\Node;
$nodo = Node::load( nid );
$nodo->delete();