diff --git a/includes/ds.field_ui.inc b/includes/ds.field_ui.inc index 153fb14..199db38 100644 --- a/includes/ds.field_ui.inc +++ b/includes/ds.field_ui.inc @@ -925,6 +925,21 @@ function ds_field_ui_layout_clone($form, &$form_state) { list($ce, $cb, $cv) = explode('|', $clone); _ds_field_ui_clone_view_mode_settings($entity_type, $bundle, $view_mode, $cv); + // Copy field settings. + $field_settings = ds_get_field_settings($entity_type, $bundle, $cv); + // Allow other modules to modify the field settings before they get saved. + drupal_alter('ds_field_settings', $field_settings, $form, $form_state); + if (!empty($field_settings)) { + $field_record = new stdClass; + $field_record->id = $form['#export_id']; + $field_record->entity_type = $entity_type; + $field_record->bundle = $bundle; + $field_record->view_mode = $view_mode; + $field_record->settings = $field_settings; + drupal_write_record('ds_field_settings', $field_record); + cache_clear_all('ds_field_settings', 'cache'); + } + // Clear entity info cache. cache_clear_all('entity_info', 'cache', TRUE);