diff --git a/src/TwbBundle/Form/View/Helper/TwbBundleForm.php b/src/TwbBundle/Form/View/Helper/TwbBundleForm.php
index 17c27a0..05ac0c4 100644
--- a/src/TwbBundle/Form/View/Helper/TwbBundleForm.php
+++ b/src/TwbBundle/Form/View/Helper/TwbBundleForm.php
@@ -61,9 +61,14 @@ public function render(FormInterface $oForm, $sFormLayout = self::LAYOUT_HORIZON
$bHasColumnSizes = false;
$sFormContent = '';
$oRenderer = $this->getView();
+ $rowsOpened = 0;
foreach ($oForm as $oElement) {
$aOptions = $oElement->getOptions();
- if (!$bHasColumnSizes && !empty($aOptions['column-size'])) {
+ if (isset($aOptions['twb-row-open']) && $aOptions['twb-row-open']) {
+ $sFormContent .= '
';
+ $rowsOpened++;
+ }
+ if (!$bHasColumnSizes && !empty($aOptions['column-size']) && $rowsOpened === 0) {
$bHasColumnSizes = true;
}
//Define layout option to form elements if not already defined
@@ -72,6 +77,10 @@ public function render(FormInterface $oForm, $sFormLayout = self::LAYOUT_HORIZON
$oElement->setOptions($aOptions);
}
$sFormContent .= $oElement instanceof FieldsetInterface ? $oRenderer->formCollection($oElement) : $oRenderer->formRow($oElement);
+ if (isset($aOptions['twb-row-close']) && $aOptions['twb-row-close']) {
+ $sFormContent .= '
';
+ $rowsOpened--;
+ }
}
if ($bHasColumnSizes && $sFormLayout !== self::LAYOUT_HORIZONTAL) {
$sFormContent = sprintf(self::$formRowFormat, $sFormContent);