내가 가진 개체와 번들 필드의 목록을 얻는 방법을 본 적이 field_info_instances()
하고 field_info_field()
,하지만 난 특정 유형의 모든 필드를 얻을 수있는 방법을 확인할 수 없습니다.
나는 내가 원하는 것을 정확하게하기 위해 이것을 요리 할 수있었습니다.
function field_get_fields_of_type($type) {
$fields_info = field_info_instances();
$return = array();
foreach ($fields_info as $entity => $bundles) {
foreach ($bundles as $bundle => $fields) {
foreach ($fields as $field_name => $info) {
$more_info_because_type_isnt_included = field_info_field($field_name);
if ( $more_info_because_type_isnt_included['type'] == $type) {
$return[$field_name] = $more_info_because_type_isnt_included;
}
}
}
}
return $return;
}
dpm(field_get_fields_of_type('entityreference')); // prints out all entityreference fields
그러나 그것은 필드 API를 통해 도달 할 수있는 무언가를 얻기 위해 엄청나게 많은 코드와 끔찍한 반복으로 보입니다.
누구든지 내가 찾고있는 데이터를보다 효율적으로 검색하는 Field API 기능을 알고 있습니까?