What a section's template prints its fields with ($_VARS['f'] in sections/{type}.phtml): every value is made safe for where it goes, so a template never escapes anything itself.
class MMO\editor\cms\SectionFields
Namespace
MMO\editor\cms
- `text($path)` escaped text; `html($path)` the rich text, sanitized again; `url($path)` a safe address;
`image($path)` an `<img>`; `get($path)`/`has($path)` the raw value, to test it;
- `each($path)` the items of a list, each a SectionFields of its own (`$item->text('title')`);
- `root()` the attributes of the section's outer element: its anchor, and in the backoffice `data-section`;
- `edit($path)` nothing on the public page; at the expert level the attributes making the field editable in place
(`mmo-editor` and `data-path`), for [`PageRenderer::EDIT`](https://mmoframework.fr/en/documentation/mmo.editor/php/cms/PageRenderer.md#pagerenderer-edit).
A path goes into objects with `.`: `cta.label`.
the attributes making the field at $path editable in place: only at the expert level (PageRenderer::EDIT), nothing elsewhere -- mmo-editor="inline" for a field of one line, mmo-editor for rich text, data-path for any field
the rich text at $path, sanitized again (what a client sent is, when saved: what the application wrote itself may not be); a plain text field is escaped
the attributes of the section's outer element: its id (the anchor its anchor field names), and out of the public page, data-section and data-type, which the backoffice finds it by