Skip to content

Changelog

CmsDynamicGrid

Every released version of CmsDynamicGrid, newest first.

CMS 2 releases latest 1.2.0RepositoryDocumentation

Added

  • 22 curated default grid presets (Volle Breite, 2/3/4/5/6/8 Spalten, unequal 2- and 3-column ratios, multi-row equal layouts, and a 5-slot 2/1/2 layout). Existing default-2-columns is retained, so pages saved on 1.1.0 keep working.

  • Second independent block-category dropdown ("Custom-Block-Kategorie") rendered directly below the standard sw-cms-sidebar__block-category dropdown. Options: Spalten (gleich) / Spalten (ungleich) / Mehrzeilig / Eigene Blöcke. Selecting a value takes over the block-selection list with the matching dmf-grid-* presets; clearing the value reverts to the standard category dropdown. The legacy dmf-cms-dynamic-grid entry is filtered out of the standard dropdown to avoid duplication.

  • Quick-action "Grid erstellen" + "Zur Grid Übersicht" buttons appear next to the custom dropdown when a sub-category is selected.

  • Click anywhere on a grid-slot placeholder to open the element-swap modal — no more aiming for the small corner icon. First click activates the slot, second click on an active placeholder swaps the element.

Changed

  • cmsService.registerCmsBlock now stores the sub-category under defaultConfig.customFields.dmfCategory so the sidebar override can sub-filter blocks within the dmf-cms-dynamic-grid category.

Breaking

  • Database table remains dmf_cms_grid_template, but entity classes were renamed

  • Template configuration format has been standardized

  • Slot ID system now consistently uses slot-{n} format

  • Existing CMS blocks with old format may need migration

Added

Administration

  • New admin module dmf-grid-template under Content → Grid Templates

    • List view with search and delete functionality
    • Detail page with integrated grid editor
  • Visual Grid Editor (dmf-grid-editor)

    • Drag & drop to move slots
    • Resize buttons (+/-) to enlarge/shrink
    • Click on empty cell to add new slots
    • Viewport tabs for desktop/tablet/mobile
    • Viewport synchronization (optional)
    • Gap synchronization (optional)
    • Depot system for hidden slots
  • Grid Creator Modal (dmf-grid-creator-modal) for quick template creation directly from CMS sidebar

  • CMS Sidebar Override with button to create new grid templates

  • Grid Template Registry for global template management

  • Default Grid Blocks (2-Column, 3-Column) as base layouts

  • New Snippets (DE/EN) for grid template module

Storefront

  • GridViewportPlugin for responsive grid rendering based on breakpoints

  • Block Template cms-block-dmf-grid.html.twig with data-grid-viewport JSON output

  • Element Template cms-element-dmf-grid-slot.html.twig

  • CSS Base Styles for grid layout container

Backend (PHP)

  • DmfGridBlockResolver loads template configuration from database on CMS page load

  • DmfGridBlock class for block definition

  • GridTemplate Entity (dmf_cms_grid_template table)

    • GridTemplateDefinition
    • GridTemplateEntity
    • GridTemplateCollection

Documentation

  • README.md with installation instructions and usage notes

Changed

  • Entity namespace simplified from DmfCmsDynamicGridTemplate to GridTemplate

  • Migration renamed to Migration1736755200GridTemplate

  • CMS block structure reorganized under dmf-cms-dynamic-grid/dmf-grid

  • Element structure renamed to dmf-grid-slot

  • Services reorganized:

    • registerGridBlocks.js replaces registerDynamicGridBlocks.js
    • dmf-grid-template.api.service.js replaces dmf-cms-dynamic-grid-template.service.js
  • Composer.json: Version 1.0.0 added, description updated

  • Slot ID format standardized to slot-{n} → content{n} mapping

  • Grid constraints: Max 6 columns, 6 rows, 12 slots

  • Breakpoints: Mobile ≤768px, Tablet ≤1024px, Desktop >1024px

  • Templates are dynamically registered as CMS blocks when CMS editor opens

  • Resolver updates block configuration from DB on every page load

Removed

  • Admin Controller DmfCmsDynamicGridController (API replaced by DAL)

  • Old block structure dynamic-grid-blocks/:

    • dynamic-grid-constructor-block with all subcomponents
    • dynamic-grid-generator
  • Old element structure:

    • dynamic-grid-constructor-element
    • dynamic-grid-placeholder-element
  • sw-cms-section Override (replaced by sw-cms-sidebar override)

  • sw-cms.constant.ts constants file

  • Storefront Plugin device-detection.plugin.js

  • Route configuration routes.xml

  • Service configurations services/controller.xml, services/service.xml

  • Old snippets under module/sw-cms/snippet/

  • Block template cms-block-dynamic-grid-generator.html.twig