Stacks logo

Stacks is a system that makes creating complex pages easy for content editors.

The system is comprised of ‘widgets’, which are reusable pieces of content that you can place, reuse, and re-arrange on a given page. Stacks has a custom admin interface to help facilitate a great experience for content editors with a workflow that includes a template selection (data collection) and a theme variation option (class based tweaking).

Widgets can contain any standard drupal fields like date, text, long text, etc. This flexibility allows you to create a wide variety of reusable widgets to build out your site.

Once set up, Stacks gives content editors the power to create complex pages and layouts on the fly without the help from a developer. A few examples of what’s possible:

  • Hero images with multiple variations in layout
  • Media galleries
  • Complex image and text layouts
  • Testimonial sliders
  • Content feeds with taxonomy and content type filtering
  • Entire pages can be built out on-the-fly using widgets

Additional features include:

  • Create custom widgets with unique templates and themes
  • Custom admin experience to bring the power of Drupal to content editors
  • Reuse widget instances on multiple pages - allowing for modular content reuse.
  • Solr Integrated Search
  • Insert view-like widgets on the fly using ‘Content Feeds’


New dev release of Stacks. Includes bug fixes, refactored source code, new features and template updates.

New features:

  • Front-end editor: now every Stack field has their own pop-up editor for easy editing by using Contextual menus and jQueryUI dialog.
  • Simplified naming conventions for templates
  • Improved template structure
  • Widget behaviors replaces custom Widget bundle mappings through hook_widget_types_alter() function.
  • Up-to-date documentation.

Known issues:

  • Drupal core bug on theme registry may affect embedded elements such as menus within twig templates, only when loading widgets asynchronously using the Front-end editor. (
  • To improve compatibility with Quickedit module.

Pending features:

Important notes:

  • After updating the module, it is mandatory to perform a database update by executing a drush updb or going to update.php. After the update you can still review each of your Widget bundle's behaviors in the "Advanced Configuration" section of their current editing form (i.e. admin/structure/stacks/widget_entity_type/text_widget/edit). If you have mapped your own custom widget types as described in our previous release, feel free to remove your calls to the hook_widget_types_alter() hook.
  • Template naming conventions have been simplified, please follow the documentation or check out the naming for the bundled template files in the stacks folder.

Isn't this just like the Paragraphs module?

We've put together a quick list of differences between Stacks and the Paragraphs module which you can read in this issue:

Video Walkthroughs:

Installation guide
Creating your first widget

Supporting organizations: 
Planning, Module Development

Project information