欢迎各位兄弟 发布技术文章
这里的技术是共享的
7.x field.info.inc | field_info_fields() |
Returns all field definitions.
Use of this function should be avoided when possible, since it loads and statically caches a potentially large array of information. Use field_info_field_map() instead.
When iterating over the fields present in a given bundle after a call tofield_info_instances($entity_type, $bundle), it is recommended to use field_info_field() on each individual field instead.
An array of field definitions, keyed by field name. Each field has an additional property, 'bundles', which is an array of all the bundles to which this field belongs keyed by entity type.
modules/
field/
field.info.inc, line 491
Field Info API, providing information about available fields and field types.
function field_info_fields() { $cache = _field_info_field_cache(); $info = $cache->getFields(); $fields = array(); foreach ($info as $key => $field) { if (!$field['deleted']) { $fields[$field['field_name']] = $field; } } return $fields; }
来自 https://api.drupal.org/api/drupal/modules%21field%21field.info.inc/function/field_info_fields/7.x
Comments
good code
good code
Log in or register to post comments
Drupal 8 equivalent
I've successfully used
\Drupal::entityManager()->getFieldMap()
in Drupal 8.Log in or register to post comments
Nice thx!
Nice thx!
Log in or register to post comments
entityManager is deprecated,
entityManager is deprecated, use entityTypeManager instead
Log in or register to post comments
Would be better use \Drupal:
Would be better use \Drupal::service('entity_field.manager')->getFieldMap();
Log in or register to post comments