Cómo comprobar si existe un campo en la entidad Drupal

Si está creando un nuevo tema de Drupal 8 y necesita averiguar si un campo existe o no en la entidad del nodo, puede usar la siguiente función «hasField()» de Drupal 8. Es una buena idea validar la existencia antes de usarlo para evitar cualquier error inesperado. Tenga en cuenta que este método solo está disponible en Drupal 8 y es posible que no funcione para la tematización de Drupal 7.

Código:

$entity->hasField('fieldName');

La función «hasField()» de la API de Drupal determina si la entidad Drupal tiene un campo con un nombre dado o no. Devuelve un booleano «VERDADERO» si se encuentra el nombre dado o «FALSO» en caso contrario.

Verifique el siguiente código de ejemplo usando el método «hasField()» de Drupal 8

/**  * Get the value of an Entity field.  * */
 public function getEntityFieldValue(EntityInterface $entity, $fieldName) {
   if ($entity->hasField($fieldName)) {
     $field = $entity->get($fieldName);
     if (!$field->isEmpty()) {
       $fieldValue = $field->getValue();
       return $fieldValue;
     }
   }
   return NULL;
 } 

// load node entity reference to $node variable
$node = \Drupal\node\Entity\Node::load($nid);
// print title of the node. print($node, “title”);

Deja una respuesta