Comment vérifier qu'un champ est vide, quand on a l'objet $ node?.
J'ai trouvé cela comme solution possible:
$field = field_get_items('node', $node, 'field_post_image');
Je peux vérifier maintenant:
MISE À JOUR .Ups! Ce n'est pas fiable, même si je promets que cela a fonctionné pour moi hier.
isset($field);
mais je me demande s'il y a une meilleure façon.
Éclaire-moi
Vous pouvez utiliser l'extrait de code suivant pour vérifier si un champ est vide.
Ce code est plus sûr, car différents champs sont considérés comme vides dans différentes conditions. Voir, par exemple, la différence entre file_field_is_empty () , number_field_is_empty () et taxonomy_field_is_empty () :
taxonomy_field_is_empty()
vérifie la propriété tid du$item
paramètre, tout ennumber_field_is_empty()
vérifiant la propriété value du même paramètre. Les champs personnalisés peuvent nécessiter une condition plus complexe à vérifier, afin de considérer le champ vide.La description de hook_field_is_empty () donnée dans la documentation est la suivante:
la source
Nous avons trouvé la valeur brute dans (
$content['field_name']['#items'][0][value]
), vous pouvez donc déterminer si le champ est vide ou non avec l'expressionoù
field_name
correspond au nom du champ souhaité.la source
Drupal 8
Si quelqu'un a besoin de la même réponse en D8, c'est ce que je fais pour tester mon domaine:
la source