Screenshot of block admin page with block group support

This module extends the standard drupal block system with block groups. Each block group provides a new block as well as a corresponding region. Child blocks can be moved into any group region. The position and the settings of the parent block are propagated to its children. Also block groups are nestable.

Features Integration

Block Group integrates with the Features module. However note, that block settings are not managed. Use the Block Settings from Features Extra in order to manage those.

Theming Block Groups

Because Block Groups technically are regions, you need to target them using the region hooks like hook_preprocess_region. The Region Class module provides an easy way to assign CSS classes to any region on your site, including those defined by block groups.

Branch 7.x-2.x

Block Group 7.x-2.x keeps feature parity with 7.x-1.x but uses underscores instead of dashes for region name (see #2160669: Use underscore instead of hyphen for dynamically generated region names).

The difference between the two branches can be reviewed using the following gitweb URL:

Note that there is no automated upgrade path between 7.x-1.x and 7.x-2.x. Block Groups need to be created from scratch after the upgrade.

Drupal 8

Block Group in Drupal 7 heavily relies on hook_page_alter. This hook is gone in Drupal 8. Citing from the relevant change notice:

In Drupal 7 and in Drupal 8 before this change, it was possible for any module to make dynamic page alterations, thereby implicitly allowing crazy dynamic page alterations and easily breaking cacheability.

Regrettably thats exactly the kind of functionality block group is relying on. Since this is inherently incompatible with Drupal 8 architecture, there is no easy way to fix this :/

Drupal 8 - bockgroup remade

The blockgroup module was remade from scratch and now has a development release.

Project Information