Skip to content

Global Objects

Global objects are available in every Liquid template file within your theme. They provide access to site-wide data, navigation, settings, and collections.

Contains information about the current site.

PropertyTypeDescription
urlstringThe absolute base URL of the site (e.g., https://example.com)
<a href="{{ site.url }}">Home</a>
<link rel="canonical" href="{{ site.url }}{{ request.path }}" />

Contains information about the current HTTP request.

PropertyTypeDescription
urlstringThe full URL of the current request
pathstringThe path portion of the URL (e.g., /events/hamlet)
methodstringThe HTTP method (e.g., GET, POST)
{% if request.path == '/' %}
<body class="is-homepage">
{% endif %}
<meta property="og:url" content="{{ request.url }}" />

Contains information about the current tenant (organization).

PropertyTypeDescription
idstringThe unique identifier for the tenant
namestringThe name of the tenant organization
slugstringThe URL-safe identifier for the tenant
timezonestringThe tenant’s configured timezone
defaultLanguagestringThe default language code (e.g., en)
dateTimeFormatsobjectDate and time formatting preferences
<html lang="{{ tenant.defaultLanguage | default: 'en' }}">
<p>&copy; {{ 'now' | date: '%Y' }} {{ tenant.name }}</p>

The current locale code for the request (e.g., en, es, fr).

{% if locale == 'es' %}
<p>Bienvenidos</p>
{% else %}
<p>Welcome</p>
{% endif %}

Returns true when viewing the site in preview mode from the CMS, false otherwise.

{% if is_preview %}
<div class="preview-banner">
You are viewing a preview. Changes may not be published yet.
</div>
{% endif %}

Returns a space-separated string of CSS classes based on the current template. Useful for template-specific styling.

<body class="{{ body_classes }}">

For a page template, this might output: page

For an event template with a custom template variation, this might output: page page-concert


Contains all theme settings defined in your config/settings_schema.json file. Settings are organized by group name.

{# Access a setting from a group #}
{{ settings.header.logo }}
{# Use settings in conditional logic #}
{% if settings.global.show_announcement_bar %}
<div class="announcement">{{ settings.global.announcement_text }}</div>
{% endif %}
{# Access social links #}
{% for link in settings.social.links %}
<a href="{{ link.url }}">{{ link.platform }}</a>
{% endfor %}

Contains configuration for installed third-party integrations. Only settings marked with showInFrontstage: true are exposed.

PropertyTypeDescription
tessituraobjectTessitura ticketing integration settings
googleobjectGoogle services integration settings (Analytics, Maps, etc.)
spektrixobjectSpektrix ticketing integration settings
tixlyobjectTixly ticketing integration settings
eleventobjectElevent integration settings
lineupobjectLineup integration settings
{% if apps.google.analytics_id %}
<script async src="https://www.googletagmanager.com/gtag/js?id={{ apps.google.analytics_id }}"></script>
{% endif %}
{% if apps.tessitura %}
{# Tessitura-specific ticketing code #}
{% endif %}

Returns required header content that must be included in your layout’s <head> section. This may include analytics scripts, meta tags, or other essential code.

<head>
<meta charset="utf-8">
<title>{{ page.title }}</title>
{{ content_for_header }}
</head>

Returns the base URL for the Basker forms API. Used internally by the {% form %} tag.

{# Typically used internally, but available if needed #}
<form action="{{ forms_endpoint }}/submit/{{ form.id }}">
...
</form>

The navigation object provides access to the site’s page hierarchy. It contains methods to access menus and traverse the page tree.

Property/MethodTypeDescription
menusobjectAccess named navigation menus
root_pagesarrayTop-level pages in the navigation
{% assign main_nav = navigation.menus['main-menu'] %}
{% for item in main_nav %}
<a href="{{ item.relativePath }}">{{ item.title }}</a>
{% if item.children.size > 0 %}
<ul>
{% for child in item.children %}
<li><a href="{{ child.relativePath }}">{{ child.title }}</a></li>
{% endfor %}
</ul>
{% endif %}
{% endfor %}

Each navigation item (page) has the following properties:

PropertyTypeDescription
idstringThe unique page identifier
titlestringThe page title
slugstringThe URL-safe identifier
relativePathstringThe full path to the page (e.g., /about/team)
ordernumberThe sort order among siblings
parentobjectThe parent page, or null for root pages
childrenarrayChild pages
showInNavigationbooleanWhether the page appears in navigation

These global objects provide access to all content of a specific type. They are lazy-loaded, meaning data is only fetched when accessed.

Returns all published events for the current tenant.

{% for event in all_events %}
<article>
<h2>{{ event.title }}</h2>
<p>{{ event.startDate | date: '%B %d, %Y' }}</p>
</article>
{% endfor %}

Returns events with a start date in the future, sorted by start date ascending.

<h2>Upcoming Events</h2>
{% for event in upcoming_events limit: 5 %}
<a href="/events/{{ event.slug }}">
{{ event.title }} - {{ event.startDate | date: '%b %d' }}
</a>
{% endfor %}

Returns all event instances (individual performances/showings) for the current tenant.

{% for instance in event_instances %}
<div class="performance">
{{ instance.startDate | date: '%B %d at %I:%M %p' }}
{% if instance.venue %}
at {{ instance.venue.name }}
{% endif %}
</div>
{% endfor %}

Returns all published pages for the current tenant.

{% for page in all_pages %}
<a href="{{ page.relativePath }}">{{ page.title }}</a>
{% endfor %}

Returns all published blog posts for the current tenant.

{% for post in all_posts limit: 10 %}
<article>
<h3><a href="/blog/{{ post.slug }}">{{ post.title }}</a></h3>
<time>{{ post.publishDate | date: '%B %d, %Y' }}</time>
<p>{{ post.lede }}</p>
</article>
{% endfor %}

Returns all blogs (blog collections/channels) for the current tenant.

{% for blog in all_blogs %}
<a href="/blog/{{ blog.slug }}">{{ blog.title }}</a>
{% endfor %}

Returns all event series for the current tenant.

{% for series in all_series %}
<div class="series-card">
<h3>{{ series.title }}</h3>
<p>{{ series.description }}</p>
</div>
{% endfor %}

Returns all seasons for the current tenant.

{% for season in all_seasons %}
<option value="{{ season.id }}">{{ season.title }}</option>
{% endfor %}

Returns all venues for the current tenant.

{% for venue in all_venues %}
<div class="venue">
<h3>{{ venue.name }}</h3>
<address>
{{ venue.addressLine1 }}<br>
{{ venue.city }}, {{ venue.state }} {{ venue.postalCode }}
</address>
</div>
{% endfor %}

Returns all people (artists, performers, staff, etc.) for the current tenant.

{% for person in all_people %}
<div class="person-card">
{% if person.image %}
<img src="{{ person.image | image_url: width: 200 }}" alt="{{ person.name }}">
{% endif %}
<h3>{{ person.name }}</h3>
</div>
{% endfor %}

Returns all organizations for the current tenant.

{% for org in all_organizations %}
<a href="/organizations/{{ org.slug }}">{{ org.name }}</a>
{% endfor %}

Returns all creative works for the current tenant.

{% for work in all_works %}
<div class="work">
<h3>{{ work.title }}</h3>
{% if work.author %}
<p>by {{ work.author }}</p>
{% endif %}
</div>
{% endfor %}

Returns all post categories for the current tenant.

<nav class="categories">
{% for category in all_categories %}
<a href="/blog/category/{{ category.slug }}">{{ category.title }}</a>
{% endfor %}
</nav>

Returns all tags for the current tenant.

<div class="tag-cloud">
{% for tag in all_tags %}
<a href="/blog/tag/{{ tag.slug }}" class="tag">{{ tag.title }}</a>
{% endfor %}
</div>

Returns all forms indexed by both ID and slug. Use with the {% form %} tag or for custom form rendering.

{# Access form by slug #}
{% assign contact_form = all_forms['contact'] %}
{# Check if a form exists #}
{% if all_forms['newsletter'] %}
{# Render newsletter signup #}
{% endif %}

Returns the custom attribute definitions organized by namespace and attribute name. Useful for building dynamic UIs based on custom attribute configurations.

{# Access attribute definitions for events #}
{% assign event_attrs = attribute_definition['events'] %}
{% for attr in event_attrs %}
{# attr contains the attribute configuration #}
{% endfor %}