Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,090 of 9,090 pages
About the help in other languages
All help pages

Layouts core in the DXP

What se7enxweb/layouts-core gives a DXP project and what it does not - the Layouts model and rendering core without an editor, admin or standard blocks - why the fork exists (PHP 8.4 and Twig), and how to get a full…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/dxp-developers/layouts-core-in-dxp.md

On this page

Layouts core in the DXP

This page is for developers who see se7enxweb/layouts-core in a DXP project and wonder whether the DXP has a page builder. It does not ship one; it ships the core that a page builder is built on.

Contents

  1. What the package is
  2. What the DXP does not include
  3. Why the fork
  4. If you need a page builder

What the package is

From Layouts on the platform: the core package "holds the model (layouts, zones, blocks, collections, rules, targets, conditions), the parameter system, the block definitions and the rendering". It is the fork of netgen/layouts-core, tagged 2.0.0-se7enx.1 on top of upstream 2.0.0, and needs PHP 8.4 (^8.4).

What the DXP does not include

The metapackage requires only the core. These layouts packages are not part of the DXP:

Not includedWhat it would add
The Layouts editor app and adminThe visual editor (/nglayouts/app) and the layouts admin (/nglayouts/admin) on Nexus
The standard blocksReady block types
The integration with the content repository and the Site APIContent items as block items, content-aware rules

So editors of a plain DXP project cannot arrange pages with blocks. Say so in proposals (Claims to avoid).

Why the fork

PHP 8.4 added asymmetric visibility (private(set)). Twig checks ReflectionProperty::isInitialized() before it looks for a getter; for such properties the check fails, and a block template that reads a parameter stops with "Call to undefined method". The fork adds explicit getters to Netgen\Layouts\Parameters\Parameter (getName(), getParameterDefinition(), getValue(), isEmpty(), getValueObject()), and declares replace: netgen/layouts-core, so every layouts package that requires the upstream name gets the fork.

If you need a page builder

OptionWhat you get
Exponential Platform Nexus (1.3 or the v5 starter)Exponential Layouts 2.0 with its editor, standard blocks and a demo site (Nexus starter)
Exponential 6Exponential Layouts, the port to the Exponential 6 kernel (The layouts editor)
Your own DXP project plus the missing layouts packagesPossible in principle; test it on a copy, with PHP 8.4 or newer, and check every package against the fork table

The concepts are the same everywhere: "layout types with named zones, blocks with parameters, collections of items, and rules with targets that pick the layout of a page. If you know one, you know the other."

Become an Exponential Partner

Partners share their information, provide funding, contribute back and develop the products with us, and that is how Exponential grows. A partner website and dashboard are planned for mid-2027: please become a partner today to speed up our growth rate and land new features faster.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x