You are here

public function CRMCoreDataDestinationHandler::attachFieldCollectionFields in CRM Core 7

Attach field collection fields to destination fields.

1 call to CRMCoreDataDestinationHandler::attachFieldCollectionFields()
CRMCoreDataDestinationHandler::getFields in modules/crm_core_data_import/plugins/destination/CRMCoreDataDestinationHandler.inc
Build array of available fields.

File

modules/crm_core_data_import/plugins/destination/CRMCoreDataDestinationHandler.inc, line 75
Default destination handler for CRM Core Data Import

Class

CRMCoreDataDestinationHandler
@file Default destination handler for CRM Core Data Import

Code

public function attachFieldCollectionFields($bundle) {
  $fields = array();
  $fields_info = field_info_instances($this->entityType, $bundle);
  foreach ($fields_info as $field_info) {
    if (!empty($field_info['widget']['module']) && $field_info['widget']['module'] == 'field_collection') {
      $field_collection_fields = migrate_handler_invoke_all('Entity', 'fields', 'field_collection_item', $field_info['field_name']);
      foreach ($field_collection_fields as $field_collection_field_key => $field_collection_field) {
        $label = $field_info['field_name'] . ':' . $field_collection_field_key;
        $fields[$label] = $label;
      }
    }
  }
  return $fields;
}