답변:
설명서 를 읽으면 FALSE
데이터가 없으면 함수가 반환 됩니다. 변수에 isset()
할당 FALSE
되어 실제로 무언가로 설정되어 있기 때문에 실제로 실패 합니다. 올바른 구문은 다음과 같습니다.
$field = field_get_items('node', $node, 'field_post_image');
if ($field) {
//Do something with the field
}
else{
//There are no results
}
다음 스 니펫을 사용하여 필드가 비어 있는지 확인할 수 있습니다.
$info = field_info_field($field_name);
$function = $info['module'] . '_field_is_empty';
if (function_exists($function)) {
$value = field_get_items('node', $node, $field_name);
$is_empty = $function($value[0], $info);
}
다른 조건에서는 다른 필드가 비어있는 것으로 간주되므로이 코드가 더 안전합니다. 참조, 예를 들면, 차이 file_field_is_empty () , number_field_is_empty () 및 taxonomy_field_is_empty () : taxonomy_field_is_empty()
체크 TID 의 속성 $item
파라미터 반면 number_field_is_empty()
체크 값이 동일한 파라미터의 속성. 필드를 비워 두려면 사용자 정의 필드에 더 복잡한 조건을 검증해야 할 수 있습니다.
에 대한 설명 hook_field_is_empty () 문서에 나와은 다음의 하나입니다 :
필드 유형에 빈 항목을 구성하는 항목을 정의하십시오.
( $content['field_name']['#items'][0][value]
) 에서 원시 값을 찾았 으므로 표현식을 사용하여 필드가 비어 있는지 여부를 확인할 수 있습니다.
(! empty ($ content [ 'field_name'] [ '# items'] [0] [값]))
여기서 field_name
원하는 필드의 이름과 일치합니다.