Create templates/storage-tips.fluid containing the standard section loop(copy it verbatim — this is the wrapper contract from README §2.2):
{% for Section in Sections %}
{% if Section.IsVisible %}
<div data-alyta-section="{{ Section.Id }}" data-alyta-type="{{ Section.Type }}"{% if Section.HideOnMobile %} class="alyta-hide-mobile"{% endif %}{% include 'section-style' %}>
{% include Section.Type %}
</div>
{% endif %}
{% endfor %}
The catch-all route rule (/{slug} → templates/{slug}.fluid) makes thepage live at /t/storage-tips with no backend change.
The honest trade-off: custom template pages are not in the builder'spage picker, so their stored section list can't be edited visually today.Their sections come from whatever the page key already holds (nothing, for abrand-new key). Practical options, in order of preference:
- If the page is really "sections an admin arranges" — use Recipe 1 (CMS page) instead; identical rendering, full builder support.
- If the page is developer-owned — skip the section loop and write the markup directly in the template (optionally
{% include %}sections with hardcoded settings via{% assign %}is NOT supported — sections readSection.Settings; prefer plain markup or snippets). - If you need builder editing on a custom template page, that requires adding the page to the builder's
EDITABLE_PAGESlist in the admin frontend — a small platform change; ask for it.