<head>, header, and footer; templates provide {{ content_for_layout }}.
Variables available everywhere
Per-template variables
Homepage composition
The stock themes use an owner-arrangeablehome-main zone. For example:
home-main when redesigning a site so its saved
section settings and blocks remain addressable. Style the homepage through
its own classes; avoid broad selectors that unintentionally alter listing
search or listing detail.
Each stock theme opens with its own listing-hero (Cover) section, which
reads the cover object: a featured listing, the agent’s chosen photograph
or a stock scene. When cover.kind is headshot the section renders the
theme’s portrait opening instead. Its featured-listings section skips
cover.listing so a home is never shown twice.
Contact controls belong to the layout
Agent openings and Personal contact invitation use buttons withdata-contact-open. The layout supplies the dialog[data-contact-modal]
and a data-contact-close control. Its form posts to /lead with
kind=contact, data-lead-form="contact-modal" and sf=contact-modal so
the runtime can reopen the correct form after a success or error redirect.
Keep the honeypot and {% marketing_consent %} fields; the starter’s
snippets/contact-dialog.liquid is a complete example.
REALsite injects storefront.js after Liquid renders. Keep that platform
runtime responsible for contact dialogs, form states and partial refreshes.
Landing layouts need the same dialog if their sections use contact buttons.
On search pages, use the supplied prev_url and next_url for pagination;
constructing a URL from only page drops the visitor’s selected filters.
Landing pages are a layout decision
Templates namedpage.landing* render inside layout/landing.liquid when
the theme provides one — brand line, content, micro-footer, and
deliberately no navigation. Any page becomes a landing page by taking a
landing template; the de-chroming happens at the layout level, so the
sections inside stay ordinary sections.
Published landing pages allow search indexing by default. The page’s Search
settings control this independently of its layout. REALsite sends an
X-Robots-Tag: noindex response header when indexing is disabled, including
for custom themes. Do not hard-code a noindex meta tag in your landing
layout: it would exclude the page even when the agent allows indexing.
Use canonical_url for the canonical link; it resolves to the root URL for
a page on its own domain.
Alternate page templates
Addtemplates/page.<suffix>.liquid and owners see it in the Pages
template picker. A deleted template degrades gracefully back to page —
never to an error.