Cómo obtener el valor de los campos asociados a un nodo en Drupal 8

Author Top
nightwalkr

Para quienes llevan tiempo programando en Drupal 7 consultar el valor de un campo/field asociado a una Entidad se les puede hacer familiar lo siguiente:

$node = node_load($nid);
$value = $node->nombre_del_campo[LANGUAGE_NONE][0]['value'];
print $value; 

Tambien pueden hacer uso de funciones tales como entity_metadata_wrapper() o field_get_items().

Pero como podemos hacer lo mismo en Drupal 8? permitanme mostrale la solucion que he encontrado.

1. Cargar el nodo.

$node = node_load($nid);

2. Obtener la definicion del campo/field.

$campo = $node->get('nombre_del_campo');

3. Objtener el valor del campo/field.

$valor = $campo->getValue();

Si imprimen la variable $valor obtendran algo similar a la siguiente salida

Array
(
    [0] => Array
        (
            [value] => valor del campo
        )

)

Por ultimo se accede al valor en el array

print $valor[0]['value'];