Skip to content
Log in

Liquid drops reference — global context and store

On this page

Drops are structured data objects accessible in Liquid templates via dot notation. Every property loads lazily — data is only fetched when you first access it.

This article covers the drops and variables available on every page. For page-specific and domain drops, see the companion articles:

Global variables

These variables are available in every template without any setup.

Variable Type Description
current_store StoreDrop Store configuration and settings
current_cart CartDrop Shopping cart (nil if no cart exists yet)
current_customer ContactDrop Logged-in customer (nil if not logged in)
current_account AccountDrop Customer’s account (nil if not logged in)
current_request RequestDrop HTTP request information
current_flash FlashDrop One-time flash messages
current_pricebook PricebookDrop Active pricebook for the store
current_privacy PrivacyDrop Privacy/cookie consent settings
current_membership MembershipDrop Customer’s membership (nil if none)
current_events Collection Customer events

Page-specific variables

These variables only resolve on their corresponding page type. They are nil on all other pages — always check before using.

Variable Type Available on
current_product ProductDrop Product detail page (pages/product.liquid)
current_product_category ProductCategoryDrop Category page (pages/product_category.liquid)
current_search SearchDrop Product listing, category, and search pages
current_page PageDrop Content pages and home page (pages/page.liquid)
current_article ArticleDrop Article detail page (pages/article.liquid)
current_article_category ArticleCategoryDrop Article category page
current_order OrderDrop Order confirmation/detail page
current_location LocationDrop Location detail page
current_location_group LocationGroupDrop Location group/finder page
current_checkout_step String Checkout page (value is the step name)
current_delivery_options DeliveryOptionsDrop Checkout shipping step
current_booking_availability BookingAvailabilityDrop Booking availability page
current_custom_form_submission CustomFormSubmissionDrop Form submission confirmation
current_subscription SubscriptionDrop Subscription management page

Global collections

Variable Type Lookup key
all_products Paginated collection slug
all_product_categories Paginated collection path
all_pages Paginated collection path
all_articles Paginated collection path
all_article_categories Paginated collection path
all_menus Collection identifier
all_content_blocks Collection identifier
all_media Collection identifier
all_custom_forms Paginated collection id
all_countries Collection
current_breadcrumbs Collection

Lookup by key with dot or bracket notation:

```liquid

{{ all_products.my-slug.name }} {{ all_menus.main-menu.items | size }} items {{ all_content_blocks.hero-banner.title }} ```

current_breadcrumbs is a collection of BreadcrumbDrop objects for the current page’s breadcrumb trail.

Variable stores

Variable Description
session_variables Session data set with {% session %}
store_variables Store-level configuration set in the CMS
theme_variables Theme configuration variables

theme_variables are key-value pairs stored with the theme. Access with dot-notation keys:

```liquid

{{ theme_variables[“products.per_page”] }} {{ theme_variables[“images.ratio.width”] }} ```

Built-in theme variable defaults (override in theme settings):

Key Default Description
products.per_page 12 Products per page in listings
articles.per_page 12 Articles per page
pages.per_page 12 Pages per page
products.comparisons false Enable product comparisons
products.brands true Show brands on product cards
products.card.hide_purchase_button false Hide add-to-cart on product cards
images.ratio.width 4 Default image aspect ratio width
images.ratio.height 5 Default image aspect ratio height
product.variants.selector.buttons.maximum 5 Max variant buttons before switching to dropdown
locations.search.default_distance 20 Default location search radius
sources.available "products,articles,pages" Search source types

StoreDrop

Store configuration and settings. Available as current_store.

Property Type Description
id String Store ID
name String Store name
code String Store code
domain String Store domain
path String URL path prefix (e.g., /au)
locale String Store locale
timezone String Store timezone
currency_code String Currency code (e.g., AUD)
currency_symbol String Currency symbol (e.g., $)
logo ImageDrop Store logo
social_image ImageDrop Social media sharing image
meta_title String SEO title
meta_description String SEO description
meta_keywords String SEO keywords
global_css String Custom CSS (render in <style> tags)
global_javascript String Custom JS (render in <script> tags)
header ContentBlockDrop Header content block
footer ContentBlockDrop Footer content block
header_menu MenuDrop Header navigation menu
footer_menu MenuDrop Footer navigation menu
navigation_categories Collection Top-level product categories for navigation
authentication_providers Collection SSO authentication providers
payment_providers Collection Available payment providers
campaigns Collection Store campaigns
scripts Collection Global script blocks
home_path String Home page path
cart_path String Cart page path
checkout_path String Checkout path
search_path String Search page path
login_path String Login page path
logout_path String Logout page path
account_path String Account page path
orders_path String Account orders path
forgot_password_path String Forgot password path
shipping_enabled? Boolean Store has shipping enabled
pickup_enabled? Boolean Click & collect is enabled
accept_terms_enabled? Boolean Require T&C acceptance at checkout
has_promotions? Boolean Promotion codes are available
has_vouchers? Boolean Vouchers are available
local_login? Boolean Uses username/password login
sso_login? Boolean Uses SSO login
display_currency? Boolean Display prices in currency
display_points? Boolean Display prices in points
data Hash Custom data fields

RequestDrop

HTTP request information. Available as current_request.

Property Type Description
path String Request path including store prefix (e.g., /au/my-path)
local_path String Request path without store prefix (e.g., /my-path)
fullpath String Full path including query string
url String Full URL
host String Hostname
protocol String Request protocol (http:// or https://)
base_url String Store base URL including path prefix
canonical_url String Canonical URL for the current page
canonical_path String Canonical path without domain
page_number Number Current pagination page from query string
params Hash Query parameters
query_string String Everything after ? in the URL
store_path String Store path prefix (e.g., /au)
ip String Client IP address
headers HeadersDrop HTTP headers (sensitive headers excluded)
content_type String Response content type
geolocation_city String City from IP geolocation
geolocation_country String Country name from IP geolocation
geolocation_country_code String Two-letter country code from IP geolocation
geolocation_latitude Number Latitude from IP geolocation
geolocation_longitude Number Longitude from IP geolocation
geolocation_region String Region/state from IP geolocation
valid_geolocation? Boolean Whether geolocation lookup succeeded

FlashDrop

One-time messages displayed after form submissions or redirects. Available as current_flash.

Property Type Description
notice String Notice/success message
alert String Alert/error message

```liquid

{% if current_flash.notice %}

{{ current_flash.notice }}

{% endif %} {% if current_flash.alert %}

{{ current_flash.alert }}

{% endif %} ```


PricebookDrop

A price list. Available as current_pricebook.

Property Type Description
name String Pricebook name
entries Collection Price entries

PrivacyDrop

Cookie consent settings. Available as current_privacy.

Property Type Description
groups Collection Privacy groups
show_banner? Boolean Whether the consent banner should be shown

PrivacyCookieDrop

A single cookie consent item.

Property Type Description
name String Cookie name
description String Cookie description
accepted? Boolean Whether the user has accepted

MembershipDrop

An account membership level. Available as current_membership.

Property Type Description
name String Membership name
expires_at DateTime Expiration date

A breadcrumb link. Items are available via current_breadcrumbs.

Property Type Description
name String Breadcrumb link text
path String Relative path (e.g., /products/shoes)
url String Full URL

Media drops

ImageDrop

An image. All sized URLs use fit crop — scaled to fit within the maximum dimensions while preserving aspect ratio.

Property Type Description
id String Image ID
url String Default image URL
alt_text String Alt text
description String Image description
file_type String File type/extension
pico_url String 16×16 — favicons, LQIP placeholders
icon_url String 32×32 — tiny icons
tiny_url String 50×50 — cart line item thumbnails
small_url String 100×100 — small thumbnails
thumb_url String 240×240 — product cards (mobile)
medium_url String 480×480 — product cards (desktop)
large_url String 640×640 — product detail images
huge_url String 1024×1024 — hero images
massive_url String 2048×2048 — retina/HiDPI hero images
data Hash Custom data fields

```liquid

{{ product.image.alt_text }} ```

VideoDrop

A video.

Property Type Description
url String Video URL
title String Video title
provider String Video provider (youtube, vimeo)
video_id String Provider-specific video ID

```liquid

{% if product.videos.size > 0 %} {{ product.videos.first.video_id | youtube }} {% endif %} ```

DocumentDrop

A downloadable document.

Property Type Description
name String Document name
url String Download URL
file_type String File type
file_size Number File size in bytes

MediumDrop

A generic media item.

Property Type Description
url String Media URL
alt String Alt text
title String Title
media_type String Type (image, video, etc.)

RecordDrop

A generic record returned by the {% query %} tag. Access fields directly by name or via custom_data for custom fields.

Property Type Description
(field name) Any Any accessible field value
custom_data Hash Custom data fields

Use | cast: "TypeName" to convert a RecordDrop into its corresponding typed drop for rich property access.

StructDrop

A structured object created by the {% struct %} tag. Properties are defined when the struct is created.

ApiResponseDrop

The response object available inside an {% api %} block.

Property Type Description
status Number HTTP status code
body Any Response body (auto-parsed if JSON)
headers Hash Response headers

Was this article helpful?

Was this article helpful?