Junio 01, 2015
nightwalkr
Drupal
Desarrollo de Modulos
PHP
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'];