Goal is that an eZ Publish developer can build a website using Page field type, in the eZ Publish 5 stack (symfony/twig).
Zones and blocks view depends on field type configuration.
- Zone template is configurable in the zone definition
- In ezpage Twig block (content_fields.html.twig), zones can be easily looped and associated templates can be included from there (like in legacy), thanks to the PageService which is accessible from the Value object.
- Zone templates loop against contained blocks and each block are rendered by a dedicated controller through a sub request (like the former block_view_gui).
- Rendering strategy (default/esi/hinclude) is configurable in the block definition
- The controller is configurable in the block definition (an internal controller is selected by default)
- A dedicated view manager + BlockViewProvider + matchers are used for template matching