---
title: 'Как проверить, прикреплено ли к бандлу поле'
url: 'https://graker.ru/news/2013/11/19/kak_proverit_prikrepleno_li_k_bandlu_pole'
language: ru
type: post
author: 'Роман Грачев'
published: '2013-11-19T00:14:43+04:00'
updated: '2016-08-06T17:46:28+03:00'
categories:
  - Программирование
  - Разработка
  - Друпальчики
---

# Как проверить, прикреплено ли к бандлу поле

Функция проверяет — прикреплено ли поле типа $field\_type к бандлу $bundle сущности $entity (все аргументы — *строки, не объекты*).

```php
function _mymodule_check_bundle_for_field($entity, $bundle, $field_type) {
  $instances = field_info_instances($entity);
  $fields = array_keys(field_read_fields(array('type' => $field_type)));
  foreach ($instances as $instance => $names) {
    $field_names = array_intersect(array_keys($names), $fields);
    if (!empty($field_names)) {
      $bundles[] = $instance;
    }
  }
  return in_array($bundle, $bundles);
}
```

Как заметили в комментах, более правильно после выхода версии 7.22 вызывать

```php
field_info_instances($entity, $bundle);
```

Сохраню на память.
