Path in the Gestor modulos/admin-layouts/
Edits the complete HTML frame receiving page content, including <head>, <body>, CSS, and framework choice. The core selects the layout by id and language and merges the page body into @[[pagina#corpo]]@.
How to use
Open admin-layouts/, create at admin-layouts/adicionar/, or edit at admin-layouts/editar/?id=<slug>. Enter a name, choose the CSS framework, and edit HTML/CSS in the html-editor component. Then associate the layout with the pages that need it. Routes are identical in both languages.
Technical reference
The controller handles listar, adicionar, and editar; status and deletion use the shared interface. The AJAX switch has no active case. On save, textual global-variable markers are converted to internal form and converted back when editing. Editing backs up changed content, records history, increments version, marks user_modified, and calculates css_source_hash from HTML/CSS. Module JS delegates editing to html-editor. JSON defines no widget, template, hooks, or hooks.api.
layouts has numeric id_layouts, nome, id, language, modulo, LONGTEXT html, MEDIUMTEXT css, status, versao, timestamps, user_modified, file_version, and checksum; migrations add framework_css, css_compiled, css_precompiled, project, and provenance hash. (id, language) is unique. gestor_layout() reads HTML/CSS from the database for the language, includes precompiled CSS with the layout-precompiled role before page resources, and returns HTML; in development it may also read corresponding physical files. gestor_pagina_layout() replaces pagina#corpo with page content and sets the title.