Projet

Général

Profil

Révision 3dfa8105

Ajouté par Assos Assos il y a plus de 9 ans

Weekly update of contrib modules

Voir les différences:

drupal7/sites/all/modules/ds/modules/ds_forms/ds_forms.module
88 88
  }
89 89
}
90 90

  
91
/**
92
 * Implements hook_field_widget_WIDGET_TYPE_form_alter().
93
 */
94
function ds_forms_field_widget_field_collection_embed_form_alter(&$element, &$form_state, $context){
95
  if ($ds_form = ds_build_load($element, 'field_collection_embed')) {
96
    if ($layout = ds_get_layout($ds_form->entity_type, $ds_form->bundle, 'form', FALSE)) {
97
      // Add the theming function and add the layout as a class.
98
      $element['#theme'] = array('ds_forms_custom_form');
99
      $element['#form_id'] = 'field_collection_embed';
100
      $class = strtr($layout['layout'], '_', '-');
101
      if ((isset($element['#attributes']['class']) && is_array($element['#attributes']['class'])) || !(isset($element['#attributes']['class']))) {
102
        $element['#attributes']['class'][] = $class;
103
      }
104
      elseif (isset($element['#attributes']['class']) && is_string($element['#attributes']['class'])) {
105
        $element['#attributes']['class'] .= ' ' . $class . ' ';
106
      }
107
    }
108
  }
109
}
91 110
/**
92 111
 * Helper function to determine if this form can be loaded.
93 112
 */
......
162 181
      $vars['layout_attributes'] = '';
163 182
    }
164 183

  
184
    if (isset($layout['settings']['classes']['layout_class'])) {
185
      foreach ($layout['settings']['classes']['layout_class'] as $layout_class) {
186
        $vars['classes_array'][] = $layout_class;
187
      }
188
    }
189

  
165 190
    // Ensure there is a class
166
    $vars['classes'] = 'ds-form';
191
    $vars['classes_array'][] = 'ds-form';
192

  
193
    // Merge the classes into a string
194
    $vars['classes'] = implode(' ', $vars['classes_array']);
167 195

  
168 196
    // Add a layout wrapper
169 197
    $vars['layout_wrapper'] = isset($layout['settings']['layout_wrapper']) ? $layout['settings']['layout_wrapper'] : 'div';

Formats disponibles : Unified diff