diff --git a/layouts/joomla/form/field/subform/default.php b/layouts/joomla/form/field/subform/default.php index b93687284cdc3..44d86cc8773c2 100644 --- a/layouts/joomla/form/field/subform/default.php +++ b/layouts/joomla/form/field/subform/default.php @@ -34,8 +34,76 @@ $form = $forms[0]; ?> -
-getGroup('') as $field) : ?> - renderField(); ?> - -
+
+ + getFieldsets() as $fieldSet) : ?> + getFieldset($fieldSet->name); + + $cols = implode(' ', array_fill(0, count($fields), '1fr')); + + $fieldsetStyle = []; + + $fieldsetStyle[] = 'display:' . ($fieldSet->display ?? 'grid') . ';'; + + $fieldsetStyle[] = 'grid-template-columns:' . ($fieldSet->gridtemplatecolumns ?? $cols) . ';'; + + $fieldsetStyle[] = 'column-gap:' . ($fieldSet->columngap ?? '1rem') . ';'; + + $fieldsetStyle[] = $fieldSet->style ?? ''; + + $fieldSetOptions = ''; + + if (!empty($fieldSet->class)) { + $fieldSetOptions .= ' class="' . $fieldSet->class . '"'; + } + + if (!empty($fieldsetStyle)) { + $fieldSetOptions .= ' style="' . implode('', $fieldsetStyle) . '"'; + } + + $fieldWrapperOptions = ''; + + if (!empty($fieldSet->fieldwrapperstyle)) { + $fieldWrapperOptions = ' style="' . $fieldSet->fieldwrapperstyle . '"'; + } + + ?> + > + + > + renderField( + [ + 'class' => $fieldSet->name . ' ' . $fieldSet->name . '-' . $field->fieldname, + ] + ); + ?> + + + + + + getGroup('') as $field) : ?> + renderField(); ?> + + +
+