Jak sprawdzić, czy pole jest puste, gdy masz obiekt $ node ?.
Znalazłem to jako możliwe rozwiązanie:
$field = field_get_items('node', $node, 'field_post_image');
Mogę teraz sprawdzić:
UPDATE .Ups! To nie jest wiarygodne, chociaż obiecuję, że zadziałało dla mnie wczoraj.
isset($field);
ale zastanawiam się, czy jest lepszy sposób.
Oświeć mnie
Możesz użyć następującego fragmentu kodu, aby sprawdzić, czy pole jest puste.
Ten kod jest bezpieczniejszy, ponieważ różne pola są uważane za puste w różnych warunkach. Zobacz na przykład różnicę między file_field_is_empty () , number_field_is_empty () i taxonomy_field_is_empty () :
taxonomy_field_is_empty()
sprawdza właściwość tid$item
parametru, a jednocześnienumber_field_is_empty()
sprawdza wartość właściwości tego samego parametru. Pola niestandardowe mogą wymagać weryfikacji bardziej złożonego warunku, aby uznać pole za puste.Opis funkcji hook_field_is_empty () podany w dokumentacji jest następujący:
źródło
Znaleźliśmy surową wartość w (
$content['field_name']['#items'][0][value]
), dzięki czemu możesz określić, czy pole jest puste, czy nie za pomocą wyrażeniagdzie
field_name
odpowiada nazwie żądanego pola.źródło
Drupal 8
Jeśli ktoś potrzebuje tej samej odpowiedzi w D8, to właśnie robię, aby przetestować moje pole:
źródło