Liquid objects
Objects expose store data in Liquid. Each row links to the object’s full property list. The four objects at the bottom — section, block, paginate, and settings — are render-time objects the engine injects automatically, so their reference lives on this page rather than on a dedicated drop page.
Catalog
| Object | Description |
|---|---|
address | A postal address (name, street, city, province, country, phone). |
all_products | Bounded product lookup by handle. |
article | A blog post with author, content, and comments. |
articles | Bounded lookup of a published article by its blog and article handles. |
blog | A blog and its articles. |
blogs | Bounded lookup of a store blog by handle; its articles remain publish-gated. |
brand | Store brand assets: logo, favicon, colors, and social links. |
bulk_pricing_tier | One quantity-break tier (min/max quantity and its price or discount). |
bundle | A catalog bundle product and its child items and variants. |
bundle_rule_offer | A bundle-rule offer with its discount, unit limits, and add-to-cart payload. |
bundle_section_offer | A bundle offer rendered as a build-your-own section with selectable choices. |
cart | The visitor’s cart. |
cart_digital_delivery | Digital-delivery details for a cart line (assets, channel, download limits). |
checkout_settings | Checkout branding and behavior: colors, fonts, contact method, content overrides. |
collection | A group of products with filtering, sorting, and pagination. |
collections | Published collections, enumerable or addressable by handle. |
comment | A blog-article comment. |
currency | A currency’s ISO code, name, and symbol. |
customer | The signed-in customer, or nil for guests. |
digital_delivery | A product’s digital-delivery configuration (downloads, license keys, instructions). |
discount_allocation | The amount a single discount allocates to a line, and its application. |
discount_application | A discount applied to the cart: code, value, target, and allocation method. |
event_booking | An event-product booking with schedule and meeting details. |
event_reservation | A reserved event slot with timing, timezone, and cancellation state. |
filter | A storefront filter (price, option, tag…) with its values and active state. |
filter_value | One selectable value or bound within a storefront filter. |
filter_value_swatch | The color or pattern presentation attached to a filter value. |
font | A font chosen in a font_picker setting — pass it to the font filters. |
gift_card | A gift card with balance, code, and recipient details. |
gift_card_info | A gift-card product’s configuration: denominations and redeem instructions. |
images | Bounded storefront lookup for a ready image by filename. |
line_item | A line in the cart: a variant, its quantity, and its pricing. |
link | A single menu link with its title, URL, active state, and child links. |
linklist | A navigation menu and its links. |
linklists | Bounded lookup of a store navigation menu by handle. |
location | An active physical store location with address and opening hours. |
media | A media item on a product: image, video (adaptive streaming), or 3D model. |
metafield | A typed custom field attached to a resource. |
metafields | A resource’s metafields, grouped by namespace and key. |
metaobject | An entry of a custom content definition (metaobject). |
metaobject_definition | A bounded definition container whose entries obey storefront visibility and optional publish status. |
metaobjects | Bounded type lookup whose entries obey storefront visibility and optional publish status. |
order | A placed order — available on the order-status and customer-account pages. |
order_line_item | A line on a placed order, including digital grants and download links. |
page | A custom content page. |
pages | Published storefront pages, enumerable or addressable by handle. |
policy | A store policy page (refunds, privacy, terms…). |
predictive_search | Instant results for the search-as-you-type overlay. |
product | A product and everything about it: pricing, variants, options, media, tags, availability. |
product_modifier | A per-product input (text, choice, file…) that can adjust price or inventory. |
product_option | One product option (e.g. Size) and its selectable values. |
quantity_price_break | A per-unit variant price that applies from a minimum quantity. |
quantity_rule | The storefront minimum, maximum, and current increment for a variant quantity. |
recipient | A gift recipient’s name, nickname, and email. |
sellerlane.recommendations | Namespaced live product, cart, and generic recommendations. |
recommended_offer | A recommended upsell/cross-sell offer with its product and add-to-cart payload. |
request | The safe current request projection; no headers, cookies, query map, or CSRF token. |
review_settings | Store review settings: who can review, media rules, and auto-publish thresholds. |
robots | The robots.txt rule groups and sitemap URL. |
routes | Canonical URLs for built-in routes (cart, search, account…). |
search | Storefront search results for the current query. |
sellerlane | Namespace for intentional Sellerlane-only query-state and recommendation extensions. |
sellerlane_query_state | Narrow public search and sort URL state under sellerlane.query_state. |
shipping_method | A shipping rate with its title, price, and tax lines. |
shop | Store-wide information: name, domain, currency, contact details, enabled features. |
shop_locale | An available storefront locale (ISO code, name, root URL). |
store_availability | Pickup availability for a variant at one location. |
store_availability_location | The public location attached to a pickup-availability result. |
tax_line | A tax applied to a line: title, rate, and amount. |
taxonomy_category | A product’s taxonomy category and its ancestors. |
template | The current template name, optional suffix, and optional directory. |
transaction | A payment transaction on an order: amount, gateway, kind, and status. |
upsell_rule_offer | An upsell-rule offer with its items, discount, and recommendation limits. |
variant | One product option combination with its price, purchase-readiness, inventory, media, and selection state. |
Render-time objects
These objects aren’t drops you fetch — the rendering engine injects them automatically inside the relevant scope. They behave the same as the standard Shopify theme objects.
section
Inside a section file (and any snippet it renders), section describes the current section instance. It is available wherever the section’s Liquid runs.
| Property | Description |
|---|---|
section.id | The section’s unique instance id, used to scope styles and IDs. |
section.settings | The values for this section’s settings, keyed by setting id. |
section.blocks | The section’s blocks in render order. Loop over them with {% for block in section.blocks %}. |
section.index | The section’s 1-based position within the template (nil in the editor and for static sections). |
section.index0 | The 0-based position within the template. |
section.location | Where the section is rendered (for example a section group such as header or footer). |
block
Inside {% for block in section.blocks %}, each block describes one block instance. Disabled and static blocks are excluded from the loop.
| Property | Description |
|---|---|
block.id | The block’s unique instance id. |
block.type | The block type from the section schema. |
block.settings | The block’s setting values, keyed by setting id. |
block.shopify_attributes | HTML attributes to render on the block’s wrapper so the visual editor can target it. Output it with {{ block.shopify_attributes }}. It is only present in editor (design) mode. |
paginate
Available inside a {% paginate collection.products by 24 %} … {% endpaginate %} block. It describes the current page of a paginated array.
| Property | Description |
|---|---|
paginate.current_page | The page being shown (1-based). |
paginate.current_offset | The number of items skipped before this page. |
paginate.items | The total number of items across all pages. |
paginate.pages | The total number of pages. |
paginate.page_size | The number of items per page (the by value). |
paginate.page_param | The query-string parameter used for the page number. |
paginate.parts | The page links to render as a pager (each one is a part, see below). |
paginate.next | A part linking to the next page, or nil on the last page. |
paginate.previous | A part linking to the previous page, or nil on the first page. |
part
Each entry in paginate.parts, paginate.next, and paginate.previous is a part.
| Property | Description |
|---|---|
part.title | The label to display (usually the page number). |
part.url | The URL for that page. |
part.is_link | true when the part links elsewhere; false for the current page. |
settings
The global theme settings (from config/settings_schema.json) are exposed as settings everywhere theme Liquid runs. Reference any setting by its id, for example {{ settings.logo }} or {{ settings.accent_color }}. The available keys depend entirely on your theme’s settings schema — see setting types and the theme architecture reference.
Next steps
- Liquid filters — transform object values for output.
- Liquid tags — control flow,
paginate,section, andrender. - Storefront filtering — canonical filter URLs, tags, relevant variants, limits, and locale behavior.
formtag — CSRF-protected product, cart, OTP-account, contact, localization, and Sellerlane forms.- Dynamic sources — bind settings to object data with
{{ }}. - Theme architecture — how sections, blocks, and settings fit together.