This project is not covered by Drupal’s security advisory policy.

DISCLAIMER:

This module is under active development and is unstable! There are numerous bugs and issues being addressed.

The LayoutManager provides a simple interface for changing page templates on the fly.

Demo videos:
http://vimeo.com/37867040
http://vimeo.com/38175161

Want to add a sidebar? Click the sidebar template. Want to add some blocks beneath your node content but don't have a region in your main theme layout? In a few simple clicks select the layout you want and use the drag and drop interface to arrange blocks within that template.

Features:

  • Custom templates. Upload your own templates or use the existing templates.
  • Drag and drop blocks within layouts
  • Stackable layouts
  • Default layouts. Set the default layout and block configuration for each content type
  • Bean Integration. Configure custom bean blocks on a per-page basis.
  • Mobile Content Editor. Change content that will be delivered to mobile devices
  • Theme editor. Set custom theme settings on a per-page basis.

Gotchyas:

  • Your template theme must print out the layout_content variable. This provides the most customization although future versions may support automatic integration with your theme.
  • Your theme must implement a custom hook to use the theme editor

How to use:

After you install the module, you'll have to add some of the templates provided to the layout manager.

  1. Go to /admin/structure/layout_manager
  2. Click the 'Add Layout' tab
  3. Fill out the fields. Note that the name MUST be the same as the $layoutName defined at the beginning of each template file
  4. At the moment, you must manually enter the paths to the layout thumbnail file and layout template itself. We will be changing this to upload template files and thumbnails instead of manually typing paths
  5. Now you'll need to edit your theme's page.tpl.php to print out the 'layout_content' variable if it's defined. Example: <?php (isset($layout_content)) ? print $layout_content : print render($page['content']); ?>

Now you'll have access to a layout tab and you can add layouts to any content type

Project information

Releases