A template is the skeleton of a page — header, footer, columns, and the zones where editors are allowed to drop content. Define a layout once and reuse it across hundreds of pages.

Part of
Type
Back-office
Defines
Set up by
Reused
Overview
A template decides a page’s overall structure: the header, the footer, the columns, and the drop zones an editor can fill. You pick a template when creating a page.
Templates tie a friendly name to an actual layout (the .phtml that produces the HTML), so editors choose a layout by name while developers own the markup.
Key features
Set up once by developers, picked by name, reused across hundreds of pages.
The header/footer/columns skeleton every page is built on.
Each template exposes the drop zones where editors place blocks — the zones drive what’s droppable.
Map a readable template name to its controller/.phtml so it’s pickable in the page editor.
Set up once, applied to hundreds of pages; change the template, change them all.
Each site exposes its own set of templates via module loading.
If a page lacks a zone to drop into, change the template’s zones rather than the page.
See it in action
Editing a template ties a friendly name to a layout and the zones editors can use.

Editing a template ties a friendly name to a layout and declares the zones editors can use.
For developers
ToolTemplateController runs the template manager.
MelisCmsTemplateSelect populates BO selects from live engine data.
MelisEngineTemplateService::getTemplate($tplId) — cached.
// Read a template definition (cached, via the engine): $tplSvc = $sm->get('MelisEngineTemplateService'); $tpl = $tplSvc->getTemplate($tplId); // A page binds to a template via its tpl_zf2_* columns // (website folder / controller / action / layout).
Part of Melis CMS
Templates are one of the CMS back-office tools — here are the others.
See the template manager in a live back-office.