This section documents the page templates and editing tools available in the Members Hub.
The aim is to let volunteers and section organisers create useful pages using familiar content skills: writing short text, uploading images, pasting links, and choosing simple options in the Admin panel.
Editors should not need to write iframe code, HTML, or Twig for normal content work.
| Page type | Template | Best for | Editor skill needed |
|---|---|---|---|
| Default page | default |
Normal information pages, section pages, policy pages, guidance pages | Write text, add headings, upload files |
| Widget page | widgetpage |
YouTube videos and Elfsight calendar widgets | Paste a video link or widget app ID |
| Embed page | embedpage |
Showing an external page inside a standard Members Hub page | Paste an embed URL |
| Service landing page | service-landing |
Public standalone pages for bookings, joining, calendars, subscriptions, and external services | Choose a service type and paste a link/widget ID |
| Payment page | payment |
Event poster with member and guest payment buttons | Upload poster, add date, paste payment links |
| PDF page | pdf |
Displaying a PDF with a download link | Upload a PDF and optionally set pdf_file |
| Directory page | directory |
Browsable index of a domain or section | Write an intro; tree is generated automatically |
| Member-owned space | member-space-root / member-space-page |
Section and Have Your Say areas maintained by named contributors | Add owner, role, page text, feedback/comments settings |
Default pages are for ordinary Members Hub content.
They automatically provide:
Editors normally only need to set:
Widget pages are for content that editors normally recognise from social platforms or embed services.
Current widget options:
The YouTube Widget example page shows the fields and accepted link formats.
Embed pages place an external page inside a standard Members Hub page.
Fields:
embed_url: the page to embed.embed_height: frame height in pixels.embed_title: accessibility title.embed_button_label: button text for opening the external page in a new window.Use this for trusted external tools that allow embedding. If the external site blocks embedding, use a service landing page with service_type: link instead.
Service landing pages are standalone public-facing pages. They do not use the normal sidebar.
Supported service types:
| Service type | What it does |
|---|---|
link |
Shows a button that opens an external service in a new window. |
embed |
Embeds an external service in an iframe and also offers an open-in-new-window button. |
widget |
Shows a supported widget, currently Elfsight. |
message |
Shows a simple coming-soon or information panel. |
html |
Includes a controlled Twig partial for specialist embeds such as MailerLite. |
Useful fields:
service_urlservice_embed_heightwidget_providerwidget_app_idmessage_titlemessage_textreturn_button_textopen_button_textshow_open_buttonservice_head_partialservice_embed_partialThe template includes safe return-button handling. A return query string is accepted only when it points back to an approved Members Hub host or a local path.
Payment pages create a simple event card.
Editors can add:
The template chooses the selected poster image, or falls back to the first uploaded image on the page.
PDF pages show normal page text followed by an embedded PDF viewer and download link.
The template uses:
pdf_file if set.If no PDF is found, the page shows a clear configuration message.
Directory pages generate a tree of visible pages below the current domain.
They provide:
directory_max_depth to limit depth when needed.Pages with sidebar_hide: true are excluded from the directory tree.
Member-owned spaces support sections and Have Your Say areas.
Root pages can record:
Have Your Say spaces automatically show a disclaimer that the page reflects contributor views unless stated otherwise.