From 7350addb0fb0a081352b84441f6a89fb84555582 Mon Sep 17 00:00:00 2001
From: Bram Goffings <bramgoffings@gmail.com>
Date: Sat, 7 Apr 2012 22:27:07 +0200
Subject: [PATCH] template rewrite

---
 ds.api.php                                         |    4 +-
 ds.field_ui.inc                                    |    8 ---
 example_layout/example_layout.inc                  |    4 +-
 layouts/ds_1col/ds-1col.tpl.php                    |    6 ++-
 layouts/ds_2col/ds-2col.tpl.php                    |   22 ++++----
 layouts/ds_2col_stacked/ds-2col-stacked.tpl.php    |   39 +++++++--------
 .../ds-2col-stacked-fluid.tpl.php                  |   23 +++++----
 layouts/ds_3col/ds-3col.tpl.php                    |   31 ++++++------
 .../ds-3col-equal-width.tpl.php                    |   31 ++++++------
 layouts/ds_3col_stacked/ds-3col-stacked.tpl.php    |   43 ++++++----------
 .../ds-3col-stacked-equal-width.tpl.php            |   43 ++++++----------
 .../ds-3col-stacked-fluid.tpl.php                  |   19 +++----
 layouts/ds_4col/ds-4col.tpl.php                    |   35 +++++--------
 layouts/ds_reset/ds-reset.tpl.php                  |    4 ++
 modules/ds_forms/ds_forms.module                   |   53 ++++++--------------
 modules/ds_forms/layouts/ds_form/ds-form.tpl.php   |   37 --------------
 modules/ds_forms/layouts/ds_form/ds_form-rtl.css   |   13 -----
 modules/ds_forms/layouts/ds_form/ds_form.css       |   20 -------
 .../layouts/ds_form_3col/ds-form-3col.tpl.php      |   43 ----------------
 .../layouts/ds_form_3col/ds_form_3col-rtl.css      |   17 ------
 .../ds_forms/layouts/ds_form_3col/ds_form_3col.css |   28 ----------
 tests/ds.base.test                                 |    1 -
 tests/ds.forms.test                                |   12 ++--
 23 files changed, 161 insertions(+), 375 deletions(-)
 delete mode 100644 modules/ds_forms/layouts/ds_form/ds-form.tpl.php
 delete mode 100644 modules/ds_forms/layouts/ds_form/ds_form-rtl.css
 delete mode 100644 modules/ds_forms/layouts/ds_form/ds_form.css
 delete mode 100644 modules/ds_forms/layouts/ds_form_3col/ds-form-3col.tpl.php
 delete mode 100644 modules/ds_forms/layouts/ds_form_3col/ds_form_3col-rtl.css
 delete mode 100644 modules/ds_forms/layouts/ds_form_3col/ds_form_3col.css

diff --git a/ds.api.php b/ds.api.php
index 20a0265..8e4936c 100644
--- a/ds.api.php
+++ b/ds.api.php
@@ -483,8 +483,8 @@ function hook_ds_label_options_alter(&$field_label_options) {
       ),
       // Add this if there is a default css file.
       'css' => TRUE,
-      // Add this if this template is for a node form.
-      'form' => TRUE,
+      // Add this if there is a default preview image
+      'image' => TRUE,
     );
   }
 
diff --git a/ds.field_ui.inc b/ds.field_ui.inc
index dacb728..de9ba8e 100644
--- a/ds.field_ui.inc
+++ b/ds.field_ui.inc
@@ -1266,14 +1266,6 @@ function _ds_field_ui_table_layouts($entity_type, $bundle, $view_mode, &$form, $
   foreach ($ds_layouts as $key => $layout) {
     $optgroup = 'Display suite';
 
-    // Continue if view mode is form and the form property is not ok.
-    if ($view_mode == 'form' && (!isset($layout['form']) || (isset($layout['form']) && !$layout['form']))) {
-      continue;
-    }
-    elseif ($view_mode != 'form' && isset($layout['form']) && $layout['form']) {
-      continue;
-    }
-
     // Panels can not be used on Views fields.
     if (!empty($layout['module']) && $layout['module'] == 'panels' && isset($form_state['no_panels'])) {
       continue;
diff --git a/example_layout/example_layout.inc b/example_layout/example_layout.inc
index baff1d1..8b89517 100644
--- a/example_layout/example_layout.inc
+++ b/example_layout/example_layout.inc
@@ -14,7 +14,7 @@ function ds_example_layout() {
     ),
     // Uncomment if you want to include a CSS file for this layout (example_layout.css)
     // 'css' => TRUE,
-    // Uncomment if this is a template for a node form.
-    // 'form' => TRUE,
+    // Uncomment if you want to include a preview for this layout (example_layout.png)
+    // 'image' => TRUE,
   );
 }
diff --git a/layouts/ds_1col/ds-1col.tpl.php b/layouts/ds_1col/ds-1col.tpl.php
index 14ba881..e21efe3 100644
--- a/layouts/ds_1col/ds-1col.tpl.php
+++ b/layouts/ds_1col/ds-1col.tpl.php
@@ -6,7 +6,7 @@
  */
 ?>
 
-<<?php print $ds_content_wrapper ?> class="ds-1col <?php print $classes;?> clearfix <?php print $ds_content_classes;?>">
+<<?php print $ds_content_wrapper ?> class="ds-1col <?php print $ds_content_classes;?><?php if (!empty($classes)) { print " " . $classes; . " " } ?>clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
@@ -14,3 +14,7 @@
 
   <?php print $ds_content; ?>
 </<?php print $ds_content_wrapper ?>>
+
+<?php if (!empty($drupal_render_children)): ?>
+  <?php print $drupal_render_children ?>
+<?php endif; ?>
diff --git a/layouts/ds_2col/ds-2col.tpl.php b/layouts/ds_2col/ds-2col.tpl.php
index 2df6360..21ae161 100644
--- a/layouts/ds_2col/ds-2col.tpl.php
+++ b/layouts/ds_2col/ds-2col.tpl.php
@@ -5,22 +5,22 @@
  * Display Suite 2 column template.
  */
 ?>
-<<?php print $layout_wrapper ?> class="ds-2col <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-2col <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($left): ?>
-    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
-      <?php print $left; ?>
-    </<?php print $left_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
+    <?php print $left; ?>
+  </<?php print $left_wrapper ?>>
 
-  <?php if ($right): ?>
-    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
-      <?php print $right; ?>
-    </<?php print $right_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
+    <?php print $right; ?>
+  </<?php print $right_wrapper ?>>
 
 </<?php print $layout_wrapper ?>>
+
+<?php if (!empty($drupal_render_children)): ?>
+  <?php print $drupal_render_children ?>
+<?php endif; ?>
diff --git a/layouts/ds_2col_stacked/ds-2col-stacked.tpl.php b/layouts/ds_2col_stacked/ds-2col-stacked.tpl.php
index 4b987db..dde9e60 100644
--- a/layouts/ds_2col_stacked/ds-2col-stacked.tpl.php
+++ b/layouts/ds_2col_stacked/ds-2col-stacked.tpl.php
@@ -5,33 +5,30 @@
  * Display Suite 2 column stacked template.
  */
 ?>
-<<?php print $layout_wrapper ?> class="ds-2col-stacked <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-2col-stacked <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($header): ?>
-    <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
-      <?php print $header; ?>
-    </<?php print $header_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
+    <?php print $header; ?>
+  </<?php print $header_wrapper ?>>
 
-  <?php if ($left): ?>
-    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
-      <?php print $left; ?>
-    </<?php print $left_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
+    <?php print $left; ?>
+  </<?php print $left_wrapper ?>>
 
-  <?php if ($right): ?>
-    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
-      <?php print $right; ?>
-    </<?php print $right_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
+    <?php print $right; ?>
+  </<?php print $right_wrapper ?>>
+
+  <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
+    <?php print $footer; ?>
+  </<?php print $footer_wrapper ?>>
 
-  <?php if ($footer): ?>
-    <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
-      <?php print $footer; ?>
-    </<?php print $footer_wrapper ?>>
-  <?php endif; ?>
 </<?php print $layout_wrapper ?>>
+
+<?php if (!empty($drupal_render_children)): ?>
+  <?php print $drupal_render_children ?>
+<?php endif; ?>
diff --git a/layouts/ds_2col_stacked_fluid/ds-2col-stacked-fluid.tpl.php b/layouts/ds_2col_stacked_fluid/ds-2col-stacked-fluid.tpl.php
index 8f11c01..adc5a09 100644
--- a/layouts/ds_2col_stacked_fluid/ds-2col-stacked-fluid.tpl.php
+++ b/layouts/ds_2col_stacked_fluid/ds-2col-stacked-fluid.tpl.php
@@ -11,17 +11,15 @@
     $classes .= ' group-one-column';
   }
 ?>
-<<?php print $layout_wrapper ?> class="ds-2col-stacked-fluid <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-2col-stacked-fluid <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($header): ?>
-    <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
-      <?php print $header; ?>
-    </<?php print $header_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
+    <?php print $header; ?>
+  </<?php print $header_wrapper ?>>
 
   <?php if ($left): ?>
     <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
@@ -35,9 +33,12 @@
     </<?php print $right_wrapper ?>>
   <?php endif; ?>
 
-  <?php if ($footer): ?>
-    <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
-      <?php print $footer; ?>
-    </<?php print $footer_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
+    <?php print $footer; ?>
+  </<?php print $footer_wrapper ?>>
+
 </<?php print $layout_wrapper ?>>
+
+<?php if (!empty($drupal_render_children)): ?>
+  <?php print $drupal_render_children ?>
+<?php endif; ?>
diff --git a/layouts/ds_3col/ds-3col.tpl.php b/layouts/ds_3col/ds-3col.tpl.php
index e4fd48e..023b71b 100644
--- a/layouts/ds_3col/ds-3col.tpl.php
+++ b/layouts/ds_3col/ds-3col.tpl.php
@@ -5,27 +5,26 @@
  * Display Suite 3 column 25/50/25 template.
  */
 ?>
-<<?php print $layout_wrapper ?> class="ds-3col <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-3col <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($left): ?>
-    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes;?>">
-      <?php print $left; ?>
-    </<?php print $left_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $left_wrapper ?> class="group-left<?php print $left_classes;?>">
+    <?php print $left; ?>
+  </<?php print $left_wrapper ?>>
 
-  <?php if ($middle): ?>
-    <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes;?>">
-      <?php print $middle; ?>
-    </<?php print $middle_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes;?>">
+    <?php print $middle; ?>
+  </<?php print $middle_wrapper ?>>
+
+  <<?php print $right_wrapper ?> class="group-right<?php print $right_classes;?>">
+    <?php print $right; ?>
+  </<?php print $right_wrapper ?>>
 
-  <?php if ($right): ?>
-    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes;?>">
-      <?php print $right; ?>
-    </<?php print $right_wrapper ?>>
-  <?php endif; ?>
 </<?php print $layout_wrapper ?>>
+
+<?php if (!empty($drupal_render_children)): ?>
+  <?php print $drupal_render_children ?>
+<?php endif; ?>
diff --git a/layouts/ds_3col_equal_width/ds-3col-equal-width.tpl.php b/layouts/ds_3col_equal_width/ds-3col-equal-width.tpl.php
index c1f9123..862596b 100644
--- a/layouts/ds_3col_equal_width/ds-3col-equal-width.tpl.php
+++ b/layouts/ds_3col_equal_width/ds-3col-equal-width.tpl.php
@@ -5,27 +5,26 @@
  * Display Suite 3 column equal width template.
  */
 ?>
-<<?php print $layout_wrapper ?> class="ds-3col-equal <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-3col-equal <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($left): ?>
-    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
-      <?php print $left; ?>
-    </<?php print $left_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
+    <?php print $left; ?>
+  </<?php print $left_wrapper ?>>
 
-  <?php if ($middle): ?>
-    <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes; ?>">
-      <?php print $middle; ?>
-    </<?php print $middle_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes; ?>">
+    <?php print $middle; ?>
+  </<?php print $middle_wrapper ?>>
+
+  <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
+    <?php print $right; ?>
+  </<?php print $right_wrapper ?>>
 
-  <?php if ($right): ?>
-    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
-      <?php print $right; ?>
-    </<?php print $right_wrapper ?>>
-  <?php endif; ?>
 </<?php print $layout_wrapper ?>>
+
+<?php if (!empty($drupal_render_children)): ?>
+  <?php print $drupal_render_children ?>
+<?php endif; ?>
diff --git a/layouts/ds_3col_stacked/ds-3col-stacked.tpl.php b/layouts/ds_3col_stacked/ds-3col-stacked.tpl.php
index 0f22f51..787af65 100644
--- a/layouts/ds_3col_stacked/ds-3col-stacked.tpl.php
+++ b/layouts/ds_3col_stacked/ds-3col-stacked.tpl.php
@@ -5,39 +5,30 @@
  * Display Suite 3 column 25/50/25 stacked template.
  */
 ?>
-<<?php print $layout_wrapper ?> class="ds-3col-stacked <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-3col-stacked <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($header): ?>
-    <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
-      <?php print $header; ?>
-    </<?php print $header_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
+    <?php print $header; ?>
+  </<?php print $header_wrapper ?>>
 
-  <?php if ($left): ?>
-    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
-      <?php print $left; ?>
-    </<?php print $left_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
+    <?php print $left; ?>
+  </<?php print $left_wrapper ?>>
 
-  <?php if ($middle): ?>
-    <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes; ?>">
-      <?php print $middle; ?>
-    </<?php print $middle_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes; ?>">
+    <?php print $middle; ?>
+  </<?php print $middle_wrapper ?>>
 
-  <?php if ($right): ?>
-    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
-      <?php print $right; ?>
-    </<?php print $right_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
+    <?php print $right; ?>
+  </<?php print $right_wrapper ?>>
+
+  <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
+    <?php print $footer; ?>
+  </<?php print $footer_wrapper ?>>
 
-  <?php if ($footer): ?>
-    <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
-      <?php print $footer; ?>
-    </<?php print $footer_wrapper ?>>
-  <?php endif; ?>
 </<?php print $layout_wrapper ?>>
diff --git a/layouts/ds_3col_stacked_equal_width/ds-3col-stacked-equal-width.tpl.php b/layouts/ds_3col_stacked_equal_width/ds-3col-stacked-equal-width.tpl.php
index ac619a3..c0089df 100644
--- a/layouts/ds_3col_stacked_equal_width/ds-3col-stacked-equal-width.tpl.php
+++ b/layouts/ds_3col_stacked_equal_width/ds-3col-stacked-equal-width.tpl.php
@@ -5,39 +5,30 @@
  * Display Suite 3 column stacked template.
  */
 ?>
-<<?php print $layout_wrapper ?> class="ds-3col-stacked-equal <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-3col-stacked-equal <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($header): ?>
-    <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
-      <?php print $header; ?>
-    </<?php print $header_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
+    <?php print $header; ?>
+  </<?php print $header_wrapper ?>>
 
-  <?php if ($left): ?>
-    <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
-      <?php print $left; ?>
-    </<?php print $left_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
+    <?php print $left; ?>
+  </<?php print $left_wrapper ?>>
 
-  <?php if ($middle): ?>
-    <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes; ?>">
-      <?php print $middle; ?>
-    </<?php print $middle_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $middle_wrapper ?> class="group-middle<?php print $middle_classes; ?>">
+    <?php print $middle; ?>
+  </<?php print $middle_wrapper ?>>
 
-  <?php if ($right): ?>
-    <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
-      <?php print $right; ?>
-    </<?php print $right_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $right_wrapper ?> class="group-right<?php print $right_classes; ?>">
+    <?php print $right; ?>
+  </<?php print $right_wrapper ?>>
+
+  <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
+    <?php print $footer; ?>
+  </<?php print $footer_wrapper ?>>
 
-  <?php if ($footer): ?>
-    <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
-      <?php print $footer; ?>
-    </<?php print $footer_wrapper ?>>
-  <?php endif; ?>
 </<?php print $layout_wrapper ?>>
diff --git a/layouts/ds_3col_stacked_fluid/ds-3col-stacked-fluid.tpl.php b/layouts/ds_3col_stacked_fluid/ds-3col-stacked-fluid.tpl.php
index 0ec1021..9253e48 100644
--- a/layouts/ds_3col_stacked_fluid/ds-3col-stacked-fluid.tpl.php
+++ b/layouts/ds_3col_stacked_fluid/ds-3col-stacked-fluid.tpl.php
@@ -12,17 +12,15 @@
   if ($left) $classes .= ' group-sidebar-left';
   if ($right) $classes .= ' group-sidebar-right';
 ?>
-<<?php print $layout_wrapper ?> class="ds-3col-stacked-fluid <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-3col-stacked-fluid <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($header): ?>
-    <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
-      <?php print $header; ?>
-    </<?php print $header_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $header_wrapper ?> class="group-header<?php print $header_classes; ?>">
+    <?php print $header; ?>
+  </<?php print $header_wrapper ?>>
 
   <?php if ($left): ?>
     <<?php print $left_wrapper ?> class="group-left<?php print $left_classes; ?>">
@@ -42,9 +40,8 @@
     </<?php print $right_wrapper ?>>
   <?php endif; ?>
 
-  <?php if ($footer): ?>
-    <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
-      <?php print $footer; ?>
-    </<?php print $footer_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $footer_wrapper ?> class="group-footer<?php print $footer_classes; ?>">
+    <?php print $footer; ?>
+  </<?php print $footer_wrapper ?>>
+
 </<?php print $layout_wrapper ?>>
diff --git a/layouts/ds_4col/ds-4col.tpl.php b/layouts/ds_4col/ds-4col.tpl.php
index 5c07a10..a1b772f 100644
--- a/layouts/ds_4col/ds-4col.tpl.php
+++ b/layouts/ds_4col/ds-4col.tpl.php
@@ -5,33 +5,26 @@
  * Display Suite 4 column template.
  */
 ?>
-<<?php print $layout_wrapper ?> class="ds-4col <?php print $classes;?> clearfix">
+<<?php print $layout_wrapper ?> class="ds-4col <?php print $classes?> clearfix">
 
   <?php if (isset($title_suffix['contextual_links'])): ?>
   <?php print render($title_suffix['contextual_links']); ?>
   <?php endif; ?>
 
-  <?php if ($first): ?>
-    <<?php print $first_wrapper ?> class="group-first<?php print $first_classes; ?>">
-      <?php print $first; ?>
-    </<?php print $first_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $first_wrapper ?> class="group-first<?php print $first_classes; ?>">
+    <?php print $first; ?>
+  </<?php print $first_wrapper ?>>
 
-  <?php if ($second): ?>
-    <<?php print $second_wrapper ?> class="group-second<?php print $second_classes; ?>">
-      <?php print $second; ?>
-    </<?php print $second_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $second_wrapper ?> class="group-second<?php print $second_classes; ?>">
+    <?php print $second; ?>
+  </<?php print $second_wrapper ?>>
 
-  <?php if ($third): ?>
-    <<?php print $third_wrapper ?> class="group-third<?php print $third_classes; ?>">
-      <?php print $third; ?>
-    </<?php print $third_wrapper ?>>
-  <?php endif; ?>
+  <<?php print $third_wrapper ?> class="group-third<?php print $third_classes; ?>">
+    <?php print $third; ?>
+  </<?php print $third_wrapper ?>>
+
+  <<?php print $fourth_wrapper ?> class="group-fourth<?php print $fourth_classes; ?>">
+    <?php print $fourth; ?>
+  </<?php print $fourth_wrapper ?>>
 
-  <?php if ($fourth): ?>
-    <<?php print $fourth_wrapper ?> class="group-fourth<?php print $fourth_classes; ?>">
-      <?php print $fourth; ?>
-    </<?php print $fourth_wrapper ?>>
-  <?php endif; ?>
 </<?php print $layout_wrapper ?>>
diff --git a/layouts/ds_reset/ds-reset.tpl.php b/layouts/ds_reset/ds-reset.tpl.php
index 58efcf2..11e7210 100644
--- a/layouts/ds_reset/ds-reset.tpl.php
+++ b/layouts/ds_reset/ds-reset.tpl.php
@@ -6,3 +6,7 @@
  */
 ?>
 <?php print $ds_content; ?>
+
+<?php if (!empty($drupal_render_children)): ?>
+  <?php print $drupal_render_children ?>
+<?php endif; ?>
diff --git a/modules/ds_forms/ds_forms.module b/modules/ds_forms/ds_forms.module
index 097749f..5f3ae7c 100644
--- a/modules/ds_forms/ds_forms.module
+++ b/modules/ds_forms/ds_forms.module
@@ -57,43 +57,6 @@ function ds_forms_theme() {
 }
 
 /**
- * Implements hook_ds_layout_info().
- */
-function ds_forms_ds_layout_info() {
-  $path = drupal_get_path('module', 'ds_forms');
-
-  $layouts = array(
-    'ds_form' => array(
-      'label' => t('2 column stacked'),
-      'path' => $path . '/layouts/ds_form',
-      'regions' => array(
-        'header' => t('Header'),
-        'left' => t('Left'),
-        'right' => t('Right'),
-        'footer' => t('Footer')
-      ),
-      'css' => TRUE,
-      'form' => TRUE,
-    ),
-    'ds_form_3col' => array(
-      'label' => t('3 column stacked'),
-      'path' => $path . '/layouts/ds_form_3col',
-      'regions' => array(
-        'header' => t('Header'),
-        'left' => t('Left'),
-        'middle' => t('Middle'),
-        'right' => t('Right'),
-        'footer' => t('Footer')
-      ),
-      'css' => TRUE,
-      'form' => TRUE,
-    ),
-  );
-
-  return $layouts;
-}
-
-/**
  * Implements hook_form_FORM_ID_alter().
  */
 function ds_forms_form_field_ui_field_overview_form_alter(&$form, &$form_state) {
@@ -175,7 +138,7 @@ function ds_build_load($form, $form_id) {
     $ds_form = rel_build_load($form_id);
   }
 
-  if (!$ds_form && isset($form['#entity_type']) && $form_id != 'field_ui_field_overview_form') {
+  if (!$ds_form && isset($form['#entity_type']) && $form_id != 'field_ui_field_overview_form' && $form_id != 'field_ui_display_overview_form') {
     $ds_form = new stdClass();
     $ds_form->entity_type = $form['#entity_type'];
     $ds_form->bundle = $form['#bundle'];
@@ -223,7 +186,21 @@ function ds_forms_preprocess_ds_forms_custom_form(&$vars) {
 
       // Add extras classes to the region.
       $vars[$region_name . '_classes'] = !empty($layout['settings']['classes'][$region_name]) ? ' ' . implode(' ', $layout['settings']['classes'][$region_name]) : '';
+
+      // Add a wrapper to the region.
+      if (empty($layout['flexible'])) {
+        $vars[$region_name . '_wrapper'] = isset($layout['settings']['wrappers'][$region_name]) ? $layout['settings']['wrappers'][$region_name] : 'div';
+      }
     }
+
+    // Ensure there is a class
+    $vars['classes'] = 'ds-form';
+
+    // Add a layout wrapper
+    $vars['layout_wrapper'] = isset($layout['settings']['layout_wrapper']) ? $layout['settings']['layout_wrapper'] : 'div';
+
+    // Add the rest of the form elements
+    $vars['drupal_render_children'] = drupal_render_children($vars['form']);
   }
 }
 
diff --git a/modules/ds_forms/layouts/ds_form/ds-form.tpl.php b/modules/ds_forms/layouts/ds_form/ds-form.tpl.php
deleted file mode 100644
index b472814..0000000
--- a/modules/ds_forms/layouts/ds_form/ds-form.tpl.php
+++ /dev/null
@@ -1,37 +0,0 @@
-<?php
-
-/**
- * @file
- * Display Suite 2 column stacked form template.
- */
-?>
-<div class="ds-form-2col-stacked clearfix">
-  <?php if ($header): ?>
-    <div class="group-header<?php print $header_classes; ?>">
-      <?php print $header; ?>
-    </div>
-  <?php endif; ?>
-
-  <?php if ($left): ?>
-    <div class="group-left<?php print $left_classes; ?>">
-      <?php print $left; ?>
-    </div>
-  <?php endif; ?>
-
-  <?php if ($right): ?>
-    <div class="group-right<?php print $right_classes; ?>">
-      <?php print $right; ?>
-    </div>
-  <?php endif; ?>
-
-  <?php if ($footer): ?>
-    <div class="group-footer<?php print $footer_classes; ?>">
-      <?php print $footer; ?>
-    </div>
-  <?php endif; ?>
-</div>
-
-<?php
-  // Print the rest of the form.
-  print drupal_render_children($form);
-?>
diff --git a/modules/ds_forms/layouts/ds_form/ds_form-rtl.css b/modules/ds_forms/layouts/ds_form/ds_form-rtl.css
deleted file mode 100644
index daa374c..0000000
--- a/modules/ds_forms/layouts/ds_form/ds_form-rtl.css
+++ /dev/null
@@ -1,13 +0,0 @@
-
-/**
- * @file
- * RTL styling for the ds_form template.
- */
-
-.ds-form .group-left {
-  float: right;
-}
-
-.ds-form .group-right {
-  float: left;
-}
diff --git a/modules/ds_forms/layouts/ds_form/ds_form.css b/modules/ds_forms/layouts/ds_form/ds_form.css
deleted file mode 100644
index a2137e2..0000000
--- a/modules/ds_forms/layouts/ds_form/ds_form.css
+++ /dev/null
@@ -1,20 +0,0 @@
-
-/**
- * @file
- * Styling for the ds_form template.
- */
-
-.ds-form .group-left {
-  float: left; /* LTR */
-  width: 69%;
-}
-
-.ds-form .group-right {
-  float: right; /* LTR */
-  width: 29%;
-}
-
-.ds-form .group-footer {
-	padding-top: 1em;
-  clear: both;
-}
diff --git a/modules/ds_forms/layouts/ds_form_3col/ds-form-3col.tpl.php b/modules/ds_forms/layouts/ds_form_3col/ds-form-3col.tpl.php
deleted file mode 100644
index 208906c..0000000
--- a/modules/ds_forms/layouts/ds_form_3col/ds-form-3col.tpl.php
+++ /dev/null
@@ -1,43 +0,0 @@
-<?php
-
-/**
- * @file
- * Display Suite 3 column stacked form template.
- */
-?>
-<div class="ds-form-3col-stacked clearfix">
-  <?php if ($header): ?>
-    <div class="group-header<?php print $header_classes; ?>">
-      <?php print $header; ?>
-    </div>
-  <?php endif; ?>
-
-  <?php if ($left): ?>
-    <div class="group-left<?php print $left_classes; ?>">
-      <?php print $left; ?>
-    </div>
-  <?php endif; ?>
-
-  <?php if ($middle): ?>
-    <div class="group-middle<?php print $middle_classes; ?>">
-      <?php print $middle; ?>
-    </div>
-  <?php endif; ?>
-
-  <?php if ($right): ?>
-    <div class="group-right<?php print $right_classes; ?>">
-      <?php print $right; ?>
-    </div>
-  <?php endif; ?>
-
-  <?php if ($footer): ?>
-    <div class="group-footer<?php print $footer_classes; ?>">
-      <?php print $footer; ?>
-    </div>
-  <?php endif; ?>
-</div>
-
-<?php
-  // Print the rest of the form.
-  print drupal_render_children($form);
-?>
diff --git a/modules/ds_forms/layouts/ds_form_3col/ds_form_3col-rtl.css b/modules/ds_forms/layouts/ds_form_3col/ds_form_3col-rtl.css
deleted file mode 100644
index f0a756e..0000000
--- a/modules/ds_forms/layouts/ds_form_3col/ds_form_3col-rtl.css
+++ /dev/null
@@ -1,17 +0,0 @@
-
-/**
- * @file
- * RTL styling for the ds_form_3col template.
- */
-
-.ds-form-3col .group-left {
-  float: right;
-}
-
-.ds-form-3col .group-middle {
-  float: right;
-}
-
-.ds-form-3col .group-right {
-  float: left;
-}
diff --git a/modules/ds_forms/layouts/ds_form_3col/ds_form_3col.css b/modules/ds_forms/layouts/ds_form_3col/ds_form_3col.css
deleted file mode 100644
index 24b0c5d..0000000
--- a/modules/ds_forms/layouts/ds_form_3col/ds_form_3col.css
+++ /dev/null
@@ -1,28 +0,0 @@
-
-/**
- * @file
- * Styling for the ds_form_3col template.
- */
-
-.ds-form-3col .group-header {
-  clear: both;
-}
-
-.ds-form-3col .group-left {
-  width: 25%;
-  float: left; /* LTR */
-}
-
-.ds-form-3col .group-middle {
-  width: 50%;
-  float: left; /* LTR */
-}
-
-.ds-form-3col .group-right {
-  width: 25%;
-  float: right; /* LTR */
-}
-
-.ds-form-3col .group-footer {
-  clear: both;
-}
diff --git a/tests/ds.base.test b/tests/ds.base.test
index 21df467..2709193 100644
--- a/tests/ds.base.test
+++ b/tests/ds.base.test
@@ -728,7 +728,6 @@ class dsFieldPermissionTests extends dsBaseTest {
     $settings = array('type' => 'article');
     $node = $this->drupalCreateNode($settings);
     $this->drupalGet('node/' . $node->nid);
-    $this->assertNoRaw('group-left', 'Template found (but not region left)');
     $this->assertRaw('group-right', 'Template found (region right)');
     $this->assertNoText('Test code field on node ' . $node->nid, 'Test code field not found');
 
diff --git a/tests/ds.forms.test b/tests/ds.forms.test
index 59465e0..1dac91a 100644
--- a/tests/ds.forms.test
+++ b/tests/ds.forms.test
@@ -36,7 +36,7 @@ class dsFormTests extends dsBaseTest {
 
     // Configure teaser layout.
     $form = array(
-      'additional_settings[layout]' => 'ds_form',
+      'additional_settings[layout]' => 'ds_2col_stacked',
     );
     $form_assert = array(
       'regions' => array(
@@ -61,7 +61,7 @@ class dsFormTests extends dsBaseTest {
 
     // Inspect the node.
     $this->drupalGet('node/' . $node->nid . '/edit');
-    $this->assertRaw('ds-form"', 'ds-form class added');
+    $this->assertRaw('ds_2col_stacked', 'ds-form class added');
     $this->assertRaw('group-header', 'Template found (region header)');
     $this->assertRaw('group-left', 'Template found (region left)');
     $this->assertRaw('group-right', 'Template found (region right)');
@@ -87,7 +87,7 @@ class dsFormTests extends dsBaseTest {
 
     // Test on a non entity form - view modes form is registered in ds_test.
     $form = array(
-      'additional_settings[layout]' => 'ds_form',
+      'additional_settings[layout]' => 'ds_2col_stacked',
     );
     $form_assert = array(
       'regions' => array(
@@ -109,7 +109,7 @@ class dsFormTests extends dsBaseTest {
 
     // Inspect the view mode form.
     $this->drupalGet('admin/structure/ds/view_modes/manage');
-    $this->assertRaw('ds-form"', 'ds-form class added');
+    $this->assertRaw('ds_2col_stacked', 'ds-form class added');
     $this->assertRaw('group-header', 'Template found (region header)');
     $this->assertRaw('group-left', 'Template found (region left)');
     $this->assertRaw('group-right', 'Template found (region right)');
@@ -132,7 +132,7 @@ class dsFormTests extends dsBaseTest {
     $this->drupalPost('rel-register/nojs/ds_edit_custom_field_form', $edit, t('Save'), array('query' => array('destination' => 'admin/structure/ds/fields/manage_custom')));
 
     $form = array(
-      'additional_settings[layout]' => 'ds_form',
+      'additional_settings[layout]' => 'ds_2col_stacked',
     );
     $form_assert = array(
       'regions' => array(
@@ -156,7 +156,7 @@ class dsFormTests extends dsBaseTest {
 
     // Inspect the code field form.
     $this->drupalGet('admin/structure/ds/fields/manage_custom');
-    $this->assertRaw('ds-form"', 'ds-form class added');
+    $this->assertRaw('ds_2col_stacked', 'ds-form class added');
     $this->assertRaw('group-header', 'Template found (region header)');
     $this->assertRaw('group-left', 'Template found (region left)');
     $this->assertRaw('group-right', 'Template found (region right)');
-- 
1.7.5.4

