¿Cómo verificar que un campo está vacío, cuando tiene el objeto $ node ?.
Encontré esto como posible solución:
$field = field_get_items('node', $node, 'field_post_image');
Puedo verificar ahora:
ACTUALIZACIÓN . ¡Ups! Esto no es confiable, aunque prometo que me funcionó ayer.
isset($field);
pero me pregunto si hay una mejor manera
Iluminame
Puede usar el siguiente fragmento para verificar si un campo está vacío.
Este código es más seguro, ya que los diferentes campos se consideran vacíos en diferentes condiciones. Vea, por ejemplo, la diferencia entre file_field_is_empty () , number_field_is_empty () y taxonomy_field_is_empty () :
taxonomy_field_is_empty()
verifica la propiedad tid del$item
parámetro, mientrasnumber_field_is_empty()
verifica la propiedad de valor del mismo parámetro. Los campos personalizados pueden requerir que se verifique una condición más compleja para considerar que el campo está vacío.La descripción de hook_field_is_empty () dada en la documentación es la siguiente:
fuente
Encontramos el valor bruto en (
$content['field_name']['#items'][0][value]
), por lo que puede determinar si el campo está vacío o no con la expresióndonde
field_name
coincide con el nombre del campo deseado.fuente
Drupal 8
Si alguien necesita la misma respuesta en D8, eso es lo que hago para probar mi campo:
fuente