Révision 3dfa8105
Ajouté par Assos Assos il y a plus de 9 ans
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
Weekly update of contrib modules