Skip to main content
drupalreleases
Release: Cms 2.2.3 — Update released for Drupal core (2.2.3)! Release: Easy Breadcrumb 2.0.11 — Minor update available for module easy_breadcrumb (2.0.11). Release: Menu Link Attributes 8.x-1.9 — Minor update available for module menu_link_attributes (8.x-1.9). Release: Bootstrap 8.x-3.42 — Minor update available for theme bootstrap (8.x-3.42). Release: PhotoSwipe - Responsive JavaScript Modal Image Gallery 5.0.11 — Minor update available for module photoswipe (5.0.11). Release: Search API attachments 10.0.13 — Minor update available for module search_api_attachments (10.0.13). Release: amazee.ai Private AI Provider 1.4.6 — Minor update available for module ai_provider_amazeeio (1.4.6). Release: amazee.ai Private AI Provider 1.3.10 — Minor update available for module ai_provider_amazeeio (1.3.10). Module Revived: Bootstrap 8.x-3.41 — Theme bootstrap updated after 6 months of inactivity (8.x-3.41). Security Coverage: Component Library — Module component_library now has official Drupal security advisory coverage.

Outlayer

35 sites Security covered Drupal 9–11
View on drupal.org

This module integrates layout libraries like Isotope, Masonry, and Packery with GridStack and Blazy to create filterable, sortable, and searchable grid layouts. It enhances default CSS Grid and custom grid options, allowing for dynamic content display with lazy-loaded or "rich" box elements.

Brains and guts of a layout library.

Integrates Outlayer for layout libraries like Isotope, Masonry, Packery with Blazy and GridStack. Outlayer will make awesome GridStack, including native CSS Grid (8.x-1.3+), or custom defined grid layouts filterable, sortable, searchable.

Requirements

  1. Gridstack 2.x
  2. Isotope library:
    • Download Isotope
    • Extract it as is, rename it to isotope, so the assets are at:
      /libraries/isotope/dist/isotope.pkgd.min.js
  3. Two fields found at Standard profile:
    field_image and
    field_tags.
    If they don't exist, simply create them at any Content type.

OPTIONAL INTEGRATION

1. Packery library:

  • Download Packery
  • Extract it as is, rename it to packery, so the assets are at:
    /libraries/packery/dist/packery.pkgd.min.js

2. Masonry library:

  • Download Masonry
  • Extract it as is, rename it to masonry, so the assets are at:
    /libraries/masonry/dist/masonry.pkgd.min.js

3. Other Isotope and Masonry related layout modes:

Not all is needed. You may want one of the above which fits your need.
However to avoid broken displays, simply download them all. Only the required
one will be used on the page, anyway.

Use Composer to download them all at ease. If things are broken, be sure the
library is installed correctly.

USAGE / CONFIGURATION

1. As Views style plugin:
Visit admin/structure/outlayer to build an Outlayer optionset.
Visit admin/structure/views:

  • Add a new page or block with Outlayer Isotope, Outlayer Filter, or Outlayer Sorter styles on the same view.
  • Associate one to another via the provided options, so they can work together.
  • Put the 3 blocks on the same page at /admin/structure/block

Use the provided sample to begin with.

RICH BOX

Replace Main stage/ image if a node has one. It can be any entity reference,
like Block, etc. Use block_field.module for ease of block additions.
How?
Create a sticky (or far future created) node or two containing a Slick carousel,
video, weather, time, donations, currency, ads, or anything as a block field,
and put it here. Be sure different from the Main stage. While regular boxes are
updated with new contents, these rich boxes may stay the same, and sticky
(Use Views with sort by sticky or desc by creation).

Read more about the usage instruction at GridStack module.

RECOMMENDED

1. Block field module to have rich boxes.

EXAMPLE

The Outlayer sample requires a "field_image" normally at Article content type
and automatically created when using Standard profile.

If no field_image, simply create a field named Image.

Adjust the provided views:

/admin/structure/views/view/outlayer_x/edit

KNOWN ISSUES

  1. Grids may have weird aspect ratio with margins.
    Solutions:
    `Vertical margin` = 0
    `No horizontal margin` enabled
    Adjust `Cell height`
  2. To have gapless grids, be sure to have the amount of contents similar to the amount of grid items minus stamp, if provided. The same rule applies to either GridStack or custom-defined grids. This is easily fixed via Views UI under Pager.

DIFFERENCE

There are few similar modules: Isotope, Masonry, Packery, Vews Isotope. What makes this worth a separate effort are:

  • Outlayer considers Masonry, Isotope, Packery as parts of Outlayer library. Each is treated as an Outlayer plugin by the original library, so is by this module. They all share the same options and methods.
  • It has integration with GridStack to have rock-solid layouts. It is a known issue, at least to me, that original library layouts are dynamic/ unpredictable. It sometimes changes on page reload. With GridStack, this never happens.
  • Lazyload images via Blazy.
  • We, these modules, all require Imagesloaded, but this module does not actually use it, at least so far, as it appears we can solve the original layout issue with some aspect ratio works. Unless proven otherwise.

TROUBLESHOOTING

  • Checkout Outlayer or Gridstack.
  • There is a breaking change at GridStack:8.x-2.3 related to Masonry/Packery, not Isotope. The only needed fix are here and there, the rest is ignorable till you have time to upgrade to Drupal 8.8. Ignore if using Outlayer 8.x-1.3+.

Depends on

Dependencies of the latest stable release

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
10
Tracked since
Jun 2023
Latest release
3 months ago
Releases (12 mo)
1 ▲ from 0
Maintenance
Active

Release Timeline

Releases

Version Type Core Release date
3.0.x-dev Dev 11 Jul 6, 2026
2.0.1 Stable 9–11 Apr 28, 2024
2.0.0 Stable 9–11 Apr 6, 2024
2.0.x-dev Dev 9–11 Sep 19, 2023
8.x-1.6 Stable 8–10 Sep 18, 2023
8.x-1.6-rc3 Pre-release 8–10 Sep 14, 2023
8.x-1.6-rc2 Pre-release 8–10 Aug 14, 2023
8.x-1.6-rc1 Pre-release 8–10 Jul 29, 2023
8.x-1.6-beta1 Pre-release 8–10 Jul 23, 2023
8.x-1.5 Stable Jun 3, 2023