Como verificar se um campo está vazio quando você possui o objeto $ node?
Eu achei isso como possível solução:
$field = field_get_items('node', $node, 'field_post_image');
Eu posso verificar agora:
UPDATE .Ups! Isso não é confiável, apesar de prometer que funcionou para mim ontem.
isset($field);
mas eu me pergunto se existe uma maneira melhor.
Me esclareça
Você pode usar o seguinte snippet para verificar se um campo está vazio.
Esse código é mais seguro, pois campos diferentes são considerados vazios sob condições diferentes. Veja, por exemplo, a diferença entre file_field_is_empty () , number_field_is_empty () e taxonomy_field_is_empty () :
taxonomy_field_is_empty()
verifica a propriedade tid do$item
parâmetro, enquantonumber_field_is_empty()
verifica a propriedade value do mesmo parâmetro. Os campos personalizados podem exigir a verificação de uma condição mais complexa, a fim de considerar o campo vazio.A descrição para hook_field_is_empty () fornecida na documentação é a seguinte:
fonte
Encontramos o valor bruto em (
$content['field_name']['#items'][0][value]
), para que você possa determinar se o campo está vazio ou não com a expressãoonde
field_name
corresponde ao nome do campo desejado.fonte
Drupal 8
Se alguém precisar da mesma resposta no D8, é isso que eu faço para testar meu campo:
fonte