When the Admin builds a Page, it adds important metadata using the YAML language.
It also includes Liquid code, hidden from Admin, which controls automatic metadata output and Secure Zones if relevant.
If you add Pages locally, you'll need to add this data.-
Pages must be stored within the following file path of your project: marketplace_builder/views/pages/
and must be .liquid
file type.
This is an example Page generated by Siteglide. Below, we'll list available YML parameters, and body content.
The YML section of the page is marked by triple dashes above and below. Everything below is the main body of the page, in liquid language.
YML is very strict about spaces and tabs- always use two spaces instead of a tab in YML.
If you wish to use Liquid in the redirect to line, you can make the line multiline: https://documentation.platformos.com/use-cases/using-liquid-markup-yaml#using-liquid-markup-in-yaml
Slug
- This is the page URL. Must be unique - Siteglide Admin handles this when editing Pages there, but we obviously have little control over that here, so it's up to the user to maintain for now (we can add validation later). Shouldn't ever be '/', as that's reserved by homepage. If you need to set it as homepage you'll have to do via UI for now. (required)layout_name
- Reference your Template here. Stored at -> marketplace_builder/views/layouts/templates/1.liquid
metadata
name
- Page name shown in UI (required) Note: This must be a string
file_type
- Set as 'page' (required)
last_edit
- timestamp of last edit - shown in UI
meta_title
- Used in page title
meta_desc
- Used as meta description
og_title
- Used in page data for sharing link
og_desc
- Used in page data for sharing link
og_type
- Defines page content type for sharing link
twitter_type
- Defines page content type for twitter sharing link
enabled
- If the page is visible on the front-end
use_siteglide_js
- Set as 'false' to supress the siteglide.js file from being included in your page. Note: This will stop forms from submitting, only turn this off on pages that do not include forms. Currently this does not work for the homepage of your site
physical_file_path
- Files should be stored in a location relative to their slug. If your slug is /services/cleaning, then the physical_file_path would be views/pages/services/cleaning.liquid - note changing this line can have unexpected results. If you want to move a file, you can just move the file and delete this line. Re-syncing or deploying should change the physical file path automatically.
redirect_to
- The slug to redirect to, if it needs it. If it's homepage, you need to redirect to '/'
redirect_code
- Set as '301' if there's a redirect
searchable
- Set as 'true' so it shows in search results
layout
- Adds the Page Template e.g. set to 'templates/1' for the template with an ID of 1. Or to leave blank for API Endpoints, set to empty string ''.
Body must include the constants snippet shown in example for features like SEO and Secure Zones to work.
Constants makes certain variables available in the Page and passes others up to the Page Template e.g. SEO. It should sit at the very top of most pages. If you are confident a Page doesn't need it e.g. an API Endpoint, you can skip it to improve performance.
You can use your own Liquid to implement logic based off the logged in User's Secure Zones, but to copy the pattern Admin creates for consistency you can do this:
Replace the "secure_zones_string" with the ID of your relevant Secure Zone from Admin.