| ... | ... |
@@ -13,4 +13,5 @@ |
| 13 | 13 |
*/ |
| 14 | 14 |
|
| 15 | 15 |
//$GLOBALS['TL_CSS']['formilicious'] = 'system/modules/eSM_formilicious/assets/css/form.min.css||static'; |
| 16 |
-$GLOBALS['TL_HOOKS']['loadDataContainer'][] = array('\FormiliciousHooks','eSMLoadDataContainer');
|
|
| 17 | 16 |
\ No newline at end of file |
| 17 |
+$GLOBALS['TL_HOOKS']['loadDataContainer'][] = array('\FormiliciousHooks','eSMLoadDataContainer');
|
|
| 18 |
+$GLOBALS['TL_HOOKS']['loadFormField'][] = array('\FormiliciousHooks','eSMLoadFormField');
|
|
| 18 | 19 |
\ No newline at end of file |
| ... | ... |
@@ -12,6 +12,11 @@ |
| 12 | 12 |
* @author Benjamin Roth <benjamin@esales-media.de> |
| 13 | 13 |
*/ |
| 14 | 14 |
|
| 15 |
+/** |
|
| 16 |
+ * Palettes |
|
| 17 |
+ */ |
|
| 18 |
+$GLOBALS['TL_DCA']['tl_form_field']['palettes']['select'] = str_replace(',class,', ',class,value,',$GLOBALS['TL_DCA']['tl_form_field']['palettes']['select']);
|
|
| 19 |
+ |
|
| 15 | 20 |
|
| 16 | 21 |
/** |
| 17 | 22 |
* Add fields to tl_form_field |
| ... | ... |
@@ -73,4 +73,46 @@ class FormiliciousHooks extends \Controller |
| 73 | 73 |
} |
| 74 | 74 |
} |
| 75 | 75 |
} |
| 76 |
+ |
|
| 77 |
+ /** |
|
| 78 |
+ * Hook for adding default value functionality to single value select fields |
|
| 79 |
+ * @param \Widget $objWidget |
|
| 80 |
+ * @param $strForm |
|
| 81 |
+ * @param $arrForm |
|
| 82 |
+ * @return \Widget |
|
| 83 |
+ */ |
|
| 84 |
+ public function eSMLoadFormField(\Widget $objWidget, $strForm, $arrForm) |
|
| 85 |
+ {
|
|
| 86 |
+ // Only apply to select fields with multiple off |
|
| 87 |
+ if ($objWidget->type == 'select' && !$objWidget->multiple && $objWidget->value != '') |
|
| 88 |
+ {
|
|
| 89 |
+ $arrOptions = (array) $objWidget->options; |
|
| 90 |
+ $intSelOption = null; |
|
| 91 |
+ |
|
| 92 |
+ // Iterate options and search for selected values |
|
| 93 |
+ foreach ($arrOptions as $k => $option) |
|
| 94 |
+ {
|
|
| 95 |
+ if (!$option['group'] && $option['value'] == $objWidget->value) |
|
| 96 |
+ {
|
|
| 97 |
+ $intSelOption = $k; |
|
| 98 |
+ break; |
|
| 99 |
+ } else if (!$option['group'] && $option['default']) |
|
| 100 |
+ {
|
|
| 101 |
+ $intSelOption = $k; |
|
| 102 |
+ } |
|
| 103 |
+ unset($arrOptions[$k]['default']); |
|
| 104 |
+ } |
|
| 105 |
+ |
|
| 106 |
+ // Set proper default option |
|
| 107 |
+ if ($intSelOption !== null) |
|
| 108 |
+ {
|
|
| 109 |
+ $arrOptions[$intSelOption]['default'] = '1'; |
|
| 110 |
+ } |
|
| 111 |
+ |
|
| 112 |
+ // Override widget with new options array |
|
| 113 |
+ $objWidget->options = $arrOptions; |
|
| 114 |
+ } |
|
| 115 |
+ |
|
| 116 |
+ return $objWidget; |
|
| 117 |
+ } |
|
| 76 | 118 |
} |
| 77 | 119 |
\ No newline at end of file |