# Shoplazza Theme Development > Guides for building Shoplazza themes, including Liquid and Ajax API references. Top-level index: https://www.shoplazza.dev/llms.txt ## Getting started - [Get started with Shoplazza themes](https://www.shoplazza.dev/docs/theme/getting-started.md): Start building a Shoplazza Theme with Liquid, JSON templates, and sections: create a new theme or customize an existing one, then follow the architecture guides. - [CLI quick start](https://www.shoplazza.dev/docs/theme/getting-started/develop-with-cli.md): Set up Shoplazza CLI, then build a theme from the Nova 2023 reference theme or from a merchant's existing theme, and preview, push, and publish it. - [Create from scratch](https://www.shoplazza.dev/docs/theme/getting-started/create-a-theme.md): Build your first Shoplazza Theme by hand: create the layout, home page template, sections, snippets, a navigation menu, and a product page, then upload and preview it. ## Theme architecture - [Theme architecture](https://www.shoplazza.dev/docs/theme/architecture.md): The standard directory structure of a Shoplazza Theme - assets, config, layout, locales, sections, snippets, and templates - and what each directory controls. - [Theme architecture overview](https://www.shoplazza.dev/docs/theme/architecture/overview.md): How a Shoplazza Theme is organized: Liquid markup files, supporting assets, and JSON config files, and how layouts, templates, sections, and blocks fit together. - [Layouts](https://www.shoplazza.dev/docs/theme/architecture/layouts.md): The layout directory of a Shoplazza Theme holds theme.liquid, the HTML shell that wraps every page. See why it is required and what belongs inside it. - [Theme layouts overview](https://www.shoplazza.dev/docs/theme/architecture/layouts/overview.md): How Shoplazza Theme layouts render every template, what to put in theme.liquid, and how a template picks a custom layout or opts out of one entirely. - [Templates](https://www.shoplazza.dev/docs/theme/architecture/templates.md): Every page type in a Shoplazza online store maps to a template. This index lists the template types: index, product, collection, cart, blog, search, 404, and more. - [Theme templates overview](https://www.shoplazza.dev/docs/theme/architecture/templates/overview.md): How templates control what each page type renders in a Shoplazza Theme, where template files live, and how a page type maps to its template. - [Liquid templates](https://www.shoplazza.dev/docs/theme/architecture/templates/liquid-templates.md): Liquid templates are the JSON data files that list which sections a Shoplazza Theme page renders and in what order. See the schema and each attribute. - [article](https://www.shoplazza.dev/docs/theme/architecture/templates/article.md): The article template of a Shoplazza Theme renders a single blog post page with its full content. See the file location and the objects to include. - [blog](https://www.shoplazza.dev/docs/theme/architecture/templates/blog.md): The blog template of a Shoplazza Theme renders the blog page that lists every article in a blog. See the file location and the objects to include. - [cart](https://www.shoplazza.dev/docs/theme/architecture/templates/cart.md): The cart template of a Shoplazza Theme renders the /cart page, showing every line item in a customer's cart. See the file location and the objects to include. - [collection](https://www.shoplazza.dev/docs/theme/architecture/templates/collection.md): The collection template of a Shoplazza Theme renders a collection page listing all products in that collection. See the file location and the objects to include. - [customers/addresses](https://www.shoplazza.dev/docs/theme/architecture/templates/customers-addresses.md): The customers/addresses template of a Shoplazza Theme renders the address book where customers view, edit, and add addresses, plus the Ajax API endpoints it posts to. - [customers/login](https://www.shoplazza.dev/docs/theme/architecture/templates/customers-login.md): The customers/login template of a Shoplazza Theme renders the customer account login form, and links to the Ajax API sign-in endpoint that form submits to. - [customers/order](https://www.shoplazza.dev/docs/theme/architecture/templates/customers-order.md): The customers/order template of a Shoplazza Theme renders the order detail page for a signed-in customer's past order. See the file location and page content. - [customers/register](https://www.shoplazza.dev/docs/theme/architecture/templates/customers-register.md): The customers/register template of a Shoplazza Theme renders the customer account creation form, and links to the Ajax API sign-up endpoint that form submits to. - [customers/reset_password](https://www.shoplazza.dev/docs/theme/architecture/templates/customers-reset-password.md): The customers/reset_password template of a Shoplazza Theme renders the password reset form, and links to the Ajax API password reset endpoint it submits to. - [customers/reset_success](https://www.shoplazza.dev/docs/theme/architecture/templates/customers-reset-success.md): The customers/reset_success template of a Shoplazza Theme renders the page a customer sees after resetting an account password successfully. - [index](https://www.shoplazza.dev/docs/theme/architecture/templates/home.md): The index template of a Shoplazza Theme renders the store home page at the root URL, a merchant's first impression page. See what to include in it. - [order](https://www.shoplazza.dev/docs/theme/architecture/templates/order.md): The order template of a Shoplazza Theme renders the customer order detail page. See where the file lives and how to use the order object inside it. - [order-verify](https://www.shoplazza.dev/docs/theme/architecture/templates/order-verify.md): The order-verify template of a Shoplazza Theme renders the order lookup page, where a customer finds an order by email address or phone number. - [page](https://www.shoplazza.dev/docs/theme/architecture/templates/page.md): The page template of a Shoplazza Theme renders merchant-authored static pages such as About us and Contact us. See the file location and page content. - [password](https://www.shoplazza.dev/docs/theme/architecture/templates/password.md): The password template of a Shoplazza Theme renders the landing page shown while a store is password protected, with the merchant message and the password form. - [product](https://www.shoplazza.dev/docs/theme/architecture/templates/product.md): The product template of a Shoplazza Theme renders the product page: media, content, and the form customers use to pick a variant and add it to the cart. - [search](https://www.shoplazza.dev/docs/theme/architecture/templates/search.md): The search template of a Shoplazza Theme renders the storefront search results page. See where the file lives and what to include in it. - [404](https://www.shoplazza.dev/docs/theme/architecture/templates/404.md): The 404 template of a Shoplazza Theme renders the page customers see at an invalid store URL. See where the file lives and what to include in it. - [Sections](https://www.shoplazza.dev/docs/theme/architecture/sections.md): Sections are the reusable content modules merchants arrange in the Shoplazza theme editor. Start here for section schema, section assets, and app blocks. - [Theme sections overview](https://www.shoplazza.dev/docs/theme/architecture/sections/overview.md): How Shoplazza Theme sections work: reusable Liquid modules with blocks, added dynamically through Liquid templates or rendered statically inside a page. - [Section schema](https://www.shoplazza.dev/docs/theme/architecture/sections/section-schema.md): The schema tag defines a Shoplazza Theme section's name, settings, blocks, presets, and template restrictions. See every supported attribute and the rules for using it. - [App blocks for themes](https://www.shoplazza.dev/docs/theme/architecture/sections/app-blocks-for-themes.md): Support app blocks in a Shoplazza Theme section: add a generic @app block to the section schema and render app content without merchants editing theme code. - [Section assets](https://www.shoplazza.dev/docs/theme/architecture/sections/section-assets.md): Bundle a Shoplazza Theme section's own CSS and JavaScript with the section-specific javascript and stylesheet Liquid tags, and see where that code is injected. - [Config](https://www.shoplazza.dev/docs/theme/architecture/config.md): The config directory of a Shoplazza Theme holds settings_schema.json, settings_data.json, and settings_presets.json. See what each file is responsible for. - [Theme config files overview](https://www.shoplazza.dev/docs/theme/architecture/config/overview.md): How Shoplazza Theme config files define and store the Theme settings area of the theme editor, where they live, and how Liquid reads their values. - [settings_schema.json](https://www.shoplazza.dev/docs/theme/architecture/config/settings-schema-json.md): settings_schema.json controls the Theme settings area of the Shoplazza theme editor. Learn its array-of-categories schema and the attributes each setting needs. - [settings_data.json](https://www.shoplazza.dev/docs/theme/architecture/config/settings-data-json.md): settings_data.json stores the current values of a Shoplazza Theme's settings and its active style preset. Learn its structure and how merchant choices are saved. - [settings_presets.json](https://www.shoplazza.dev/docs/theme/architecture/config/settings-presets-json.md): settings_presets.json defines the preset styles a Shoplazza Theme ships with. See its schema and how preset values map back to settings_schema.json. - [Locales](https://www.shoplazza.dev/docs/theme/architecture/locales.md): Locale files give a Shoplazza Theme translated storefront text. Start here for how they are organized and where the storefront locale file format is documented. - [Theme locale files overview](https://www.shoplazza.dev/docs/theme/architecture/locales/overview.md): How locale files store translation strings for a Shoplazza Theme, where they live in the theme, and how merchants edit them in the Shoplazza language editor. - [Storefront locale files](https://www.shoplazza.dev/docs/theme/architecture/locales/storefront-locale-files.md): Storefront locale files hold the JSON translation strings a Shoplazza Theme outputs with the Liquid t filter, including file naming and value interpolation. - [Settings](https://www.shoplazza.dev/docs/theme/architecture/settings.md): Theme settings let merchants customize a Shoplazza Theme from the theme editor. Start here for input settings, sidebar settings, dynamic sources, and fonts. - [Theme settings overview](https://www.shoplazza.dev/docs/theme/architecture/settings/overview.md): How Shoplazza Theme settings work at the theme, section, and block level, where you define them, and how Liquid accesses the values a merchant chooses. - [Input settings](https://www.shoplazza.dev/docs/theme/architecture/settings/input-settings.md): Every input setting type a Shoplazza Theme can expose in the theme editor - text, select, checkbox, color, image, and more - with their standard attributes. - [Sidebar settings](https://www.shoplazza.dev/docs/theme/architecture/settings/sidebar-settings.md): Sidebar settings add header and paragraph elements that organize and explain a Shoplazza Theme's input settings in the theme editor. See both types and their attributes. - [Dynamic sources](https://www.shoplazza.dev/docs/theme/architecture/settings/dynamic-sources.md): Let merchants bind a Shoplazza Theme section or block setting to a metafield or a resource attribute, and see which setting types support dynamic sources. - [Fonts](https://www.shoplazza.dev/docs/theme/architecture/settings/fonts.md): Add fonts to a Shoplazza Theme: pick from the Shoplazza font library, use system fonts for speed, or load custom fonts from a third-party service. - [Assets](https://www.shoplazza.dev/docs/theme/architecture/assets.md): The assets directory of a Shoplazza Theme: where CSS, JavaScript, images, and fonts live, which file types are allowed, and how to reference them in Liquid. - [Snippets](https://www.shoplazza.dev/docs/theme/architecture/snippets.md): Snippets are reusable Liquid fragments in a Shoplazza Theme. Learn where they live and how to include or render one from a layout, template, or section. ## Developer tools - [Theme developer tools overview](https://www.shoplazza.dev/docs/theme/developer-tools.md): The tools for building a Shoplazza Theme: Shoplazza CLI, the admin theme, code, and language editors, and the Nova 2023 reference theme. - [Shoplazza CLI theme development overview](https://www.shoplazza.dev/docs/theme/developer-tools/shoplazza-cli.md): Use Shoplazza CLI for theme development: development themes, hot-reload previews, scaffolding from Nova 2023, and pushing or publishing from the command line. - [Theme commands](https://www.shoplazza.dev/docs/theme/developer-tools/shoplazza-cli/theme-commands.md): Reference for the Shoplazza CLI themes commands - init, serve, pull, push, share, package, env, publish, list, and delete - with their flags and behavior. - [Theme editor](https://www.shoplazza.dev/docs/theme/developer-tools/theme-editor.md): The Shoplazza theme editor lets merchants customize content and preview changes live. Learn how to expose settings and how to open the editor during development. - [Code editor](https://www.shoplazza.dev/docs/theme/developer-tools/code-editor.md): The Shoplazza admin code editor lets merchants view and edit theme files in the browser. Learn how to open it, navigate files, and when to work locally instead. - [Language editor](https://www.shoplazza.dev/docs/theme/developer-tools/language-editor.md): The Shoplazza admin language editor lets merchants translate theme text. Learn how to open it, switch the theme language, and update default content. - [Nova 2023](https://www.shoplazza.dev/docs/theme/developer-tools/nova-2023.md): Nova 2023 is Shoplazza's reference theme, built on a Web Components library for speed and flexibility. Clone it with Shoplazza CLI as a starting point. ## Theme features - [Theme features overview](https://www.shoplazza.dev/docs/theme/theme-features.md): The storefront capabilities a Shoplazza Theme can support: product merchandising, pricing and payments, navigation and search, SEO, custom data, and tracking. - [Product merchandising overview](https://www.shoplazza.dev/docs/theme/theme-features/product-merchandising.md): Present products on a Shoplazza storefront. Start here for variant selectors, variant deep links, and support for product images, video, and 3D models. - [Product variants](https://www.shoplazza.dev/docs/theme/theme-features/product-merchandising/product-variants.md): Support product variants in a Shoplazza Theme: build variant selectors from the product and variant objects, and handle variant deep links in the URL. - [Support product media](https://www.shoplazza.dev/docs/theme/theme-features/product-merchandising/support-product-media.md): Display product images, video, and 3D models in a Shoplazza Theme by looping the product media attribute and applying the media_parse filter in a reusable snippet. - [Pricing and payments overview](https://www.shoplazza.dev/docs/theme/theme-features/pricing-and-payments.md): Show prices, discounts, and payment information on a Shoplazza storefront. Start here for money filters, multi-currency formatting, and discount display. - [Discounts](https://www.shoplazza.dev/docs/theme/theme-features/pricing-and-payments/discounts.md): Display discounts in a Shoplazza Theme with the discount_applications and line_item objects, covering cart, checkout, and order level discounts. - [Currency formatting](https://www.shoplazza.dev/docs/theme/theme-features/pricing-and-payments/currency-formatting.md): Format prices in a Shoplazza Theme with money filters: show the currency symbol or code, and keep amounts correct for a store selling in multiple currencies. - [Navigation and search overview](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search.md): Help customers browse and find products on a Shoplazza storefront. Start here for menus built from linklists, collection filtering, and storefront search. - [Navigation](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search/navigation.md): Build a Shoplazza Theme's menus from the linklists, linklist, and link objects, including the nested drop-down menus merchants manage in the Shoplazza admin. - [Storefront search overview](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search/storefront-search.md): How storefront search works in a Shoplazza Theme: the q and page query parameters, the search form markup, and the structure of the search results URL. - [Predictive search](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search/storefront-search/predictive-search.md): Add predictive search to a Shoplazza Theme so product suggestions appear as customers type, using the search Ajax API endpoint and the search object. - [Filtering](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search/filtering.md): Storefront filtering lets customers narrow collection pages by price, color, size, and availability. Start here for filter types, implementation, and UX guidelines. - [Storefront filtering](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search/filtering/storefront-filtering.md): How Shoplazza storefront filtering works: the product and variant data filters are built from, and the AND / OR logic applied across filters and their values. - [Support storefront filtering](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search/filtering/support-storefront-filtering.md): Implement storefront filtering in a Shoplazza Theme using the collection products endpoint and the collection object to render filters and filtered results. - [Storefront filtering UX guidelines](https://www.shoplazza.dev/docs/theme/theme-features/site-navigation-and-search/filtering/ux-guidelines.md): Design guidance for storefront filtering in a Shoplazza Theme: checkbox lists for list filters, price range inputs, and how to present the current filter state. - [Theme SEO overview](https://www.shoplazza.dev/docs/theme/theme-features/seo.md): The metadata, structured data, and semantic markup a Shoplazza Theme should output so merchant storefronts rank well and preview well when shared. - [Metadata](https://www.shoplazza.dev/docs/theme/theme-features/seo/metadata.md): Output SEO metadata in a Shoplazza Theme's head element: the title tag, the meta description, and canonical URLs, with the Liquid objects behind each one. - [Structured data](https://www.shoplazza.dev/docs/theme/theme-features/seo/structured-data.md): Add JSON-LD structured data and Open Graph tags to a Shoplazza Theme so search engines can show rich results and social platforms render link previews. - [Theme custom data overview](https://www.shoplazza.dev/docs/theme/theme-features/custom-data.md): Extend Shoplazza's built-in data models with custom data. Metafields let a Shoplazza Theme store and display business-specific information on products and other resources. - [Metafields](https://www.shoplazza.dev/docs/theme/theme-features/custom-data/metafields.md): Metafields store extra custom data on Shoplazza resources. Start here for metafield concepts, the supported data types, and how to read them in Liquid. - [Theme metafields overview](https://www.shoplazza.dev/docs/theme/theme-features/custom-data/metafields/overview.md): How a Shoplazza metafield is built from a namespace, key, type, and value, with worked examples of storing product-specific information for a theme to display. - [Types](https://www.shoplazza.dev/docs/theme/theme-features/custom-data/metafields/type.md): Every data type a Shoplazza metafield can store, the validation each type enforces, and how a type applies across all resources that own the definition. - [Use metafields in Liquid](https://www.shoplazza.dev/docs/theme/theme-features/custom-data/metafields/using-metafields-in-liquid.md): Read and render metafields in a Shoplazza Theme with Liquid: the access syntax, how to output each metafield type, and how to handle missing values. - [Tracking and analytics overview](https://www.shoplazza.dev/docs/theme/theme-features/tracking-and-analytics.md): Track customer behavior on a Shoplazza storefront. Start here for Web Pixels, third-party platform pixel templates, and the storefront theme event reference. - [Web Pixel](https://www.shoplazza.dev/docs/theme/theme-features/tracking-and-analytics/web-pixel.md): What Shoplazza Web Pixels are: lightweight scripts that collect customer events such as purchases, product views, and add-to-cart, and report them to ad platforms. - [Build Web Pixel](https://www.shoplazza.dev/docs/theme/theme-features/tracking-and-analytics/build-web-pixel.md): Step-by-step guide to embedding pixel code in a Shoplazza store with the Custom Code Embedding app and configuring event tracking for the order completion page. - [Platform Pixel & Event Template](https://www.shoplazza.dev/docs/theme/theme-features/tracking-and-analytics/platform-pixel-event-template.md): Where to find the pixel ID and base code on third-party platforms such as Criteo, and the event code templates to embed in a Shoplazza store. - [Theme events](https://www.shoplazza.dev/docs/theme/theme-features/tracking-and-analytics/theme-events.md): Reference for the storefront events a Shoplazza Theme emits, such as dj.viewContent, with listener code and the data payload each event carries. ## Best practices - [Theme best practices overview](https://www.shoplazza.dev/docs/theme/best-practices.md): Shoplazza's best practices for building a theme, covering sections and blocks, performance, images, internationalization, accessibility, color, and asset tags. - [Sections and blocks](https://www.shoplazza.dev/docs/theme/best-practices/sections-and-blocks.md): Decide when a Shoplazza Theme capability belongs in a section and when it belongs in a block, and how granular to make each customizable component. - [Performance](https://www.shoplazza.dev/docs/theme/best-practices/performance.md): Optimize a Shoplazza Theme for performance: cut JavaScript, avoid parser-blocking scripts and heavy frameworks, and keep the bundle within its size budget. - [Theme editor preview inspector](https://www.shoplazza.dev/docs/theme/best-practices/preview-inspector.md): Design guidelines that keep section and block outlines accurate in the Shoplazza theme editor preview inspector: no negative margins, padding spacing, or hidden elements. - [Image optimization](https://www.shoplazza.dev/docs/theme/best-practices/image-optimization.md): Keep a Shoplazza Theme fast: request the right image size with img_url, serve responsive srcset candidates, prevent layout shift, and lazy-load offscreen images. - [Internationalization](https://www.shoplazza.dev/docs/theme/best-practices/internationalization.md): Make a Shoplazza Theme translatable and locale-aware: use t filter translation keys, interpolate values, and adapt formatting and right-to-left layout. - [Accessibility](https://www.shoplazza.dev/docs/theme/best-practices/accessibility.md): Build a Shoplazza Theme that meets WCAG 2.1 level AA: semantic HTML, a logical heading order, keyboard operation, and screen reader compatibility. - [Color system](https://www.shoplazza.dev/docs/theme/best-practices/color-system.md): Build a reusable color system for a Shoplazza Theme with role-based color settings and CSS variables, so merchants restyle the whole storefront in one place. - [JavaScript and stylesheet tags](https://www.shoplazza.dev/docs/theme/best-practices/javascript-and-stylesheet-tags.md): When a Shoplazza Theme should ship code as an asset file with script_tag and stylesheet_tag, when to bundle it in a section, and how to avoid blocking rendering. ## Theme Store - [Shoplazza Theme Store overview](https://www.shoplazza.dev/docs/theme/theme-store.md): The four steps to selling a theme on the Shoplazza Theme Store: meet the requirements, test your theme, submit it for review, and grow your theme business. - [Theme Store requirements](https://www.shoplazza.dev/docs/theme/theme-store/requirements.md): The full checklist a theme must meet to be published on the Shoplazza Theme Store, covering exclusivity, uniqueness, features, performance, and settings. - [Test your theme before submission](https://www.shoplazza.dev/docs/theme/theme-store/testing.md): Test a Shoplazza theme before submitting it to the Theme Store: mandatory features, Lighthouse performance and accessibility, browser support, and a no-JavaScript pass. - [Review process](https://www.shoplazza.dev/docs/theme/theme-store/review-process.md): How the Shoplazza Theme Store review process works. Start here for submitting a theme, writing the listing page, and avoiding common rejection reasons. - [Submit theme](https://www.shoplazza.dev/docs/theme/theme-store/review-process/submit-theme.md): Submit a theme to the Shoplazza Theme Store through the Partner Dashboard, and see what happens when the review team asks for changes before approval. - [Theme listing](https://www.shoplazza.dev/docs/theme/theme-store/review-process/listing.md): Guidelines for a Shoplazza Theme Store listing: the theme ZIP file, review notes and instructions, the value proposition, and the screenshots merchants see. - [Common theme rejections](https://www.shoplazza.dev/docs/theme/theme-store/review-process/common-rejections.md): The most common reasons the Shoplazza Theme Store review team rejects a theme, and what to fix before you submit to reduce that risk. - [Theme success overview](https://www.shoplazza.dev/docs/theme/theme-store/success.md): What to do after a theme is approved on the Shoplazza Theme Store: avoid prohibited actions, ship regular updates, and remove a theme the right way. - [Prohibited actions](https://www.shoplazza.dev/docs/theme/theme-store/success/prohibited-actions.md): The actions that can get a theme removed from the Shoplazza Theme Store or a partner removed from the program, from ignoring support requests to misusing merchant data. - [Updating your theme](https://www.shoplazza.dev/docs/theme/theme-store/success/updating-your-theme.md): The Shoplazza Theme Store update process: submitting update ZIPs, version numbering, release notes, and the minimum interval between merchant-facing updates. - [Removing a theme](https://www.shoplazza.dev/docs/theme/theme-store/success/removing-a-theme.md): How to remove a theme from the Shoplazza Theme Store with the least impact on merchants, including who to contact and how long you must keep supporting it. ## References - [Shoplazza Theme reference overview](https://www.shoplazza.dev/docs/theme/references.md): Entry point to the Shoplazza Theme reference: the Liquid language reference for template rendering and the Ajax API endpoints for storefront interactions. - [Liquid overview](https://www.shoplazza.dev/docs/theme/references/liquid.md): Overview of the Liquid template language in Shoplazza Themes: what a template language does, and how tags, filters and objects work together to render a storefront. - [Basics](https://www.shoplazza.dev/docs/theme/references/liquid/basics.md): The basic Liquid concepts a Shoplazza theme developer needs first: handles, operators, data types, and which values count as truthy or falsy. - [Handles](https://www.shoplazza.dev/docs/theme/references/liquid/basics/handles.md): How handles identify Shoplazza store resources in Liquid: how a handle is generated from a title, the rules it follows, and how to reference it in a theme. - [Operators](https://www.shoplazza.dev/docs/theme/references/liquid/basics/liquid-operators.md): The logical and comparison operators Liquid supports in conditional tags, including how contains works and the left-to-right order in which operators are evaluated. - [Types](https://www.shoplazza.dev/docs/theme/references/liquid/basics/liquid-types.md): The six data types a Liquid output can return in a Shoplazza theme, with what each one holds and how it behaves in an expression. - [Truthy and falsy](https://www.shoplazza.dev/docs/theme/references/liquid/basics/true-and-false.md): Which Liquid values are truthy and which are falsy in Shoplazza themes, and why an empty string or an EmptyDrop still needs a blank or empty check. - [Tags](https://www.shoplazza.dev/docs/theme/references/liquid/tags.md): How Liquid tags define the logic of a Shoplazza theme template: tag syntax, tags that take parameters, and the five groups of tags available. - [Conditional](https://www.shoplazza.dev/docs/theme/references/liquid/tags/conditional.md): Liquid conditional tags in Shoplazza themes: if, elsif, else, unless and case, and the conditions that decide whether a block of Liquid code runs. - [HTML](https://www.shoplazza.dev/docs/theme/references/liquid/tags/html.md): The Liquid snippet tag, which wraps content in an HTML div carrying Shoplazza-specific product attributes so the storefront can recognize the element. - [Iteration](https://www.shoplazza.dev/docs/theme/references/liquid/tags/iteration.md): Liquid iteration tags in Shoplazza themes: for, break, continue, cycle, tablerow and paginate, plus the 50-iteration limit and the loop objects they expose. - [Syntax](https://www.shoplazza.dev/docs/theme/references/liquid/tags/syntax.md): Liquid syntax tags in Shoplazza themes: comment, which keeps an expression from being output, and raw, for outputting Liquid markup as plain text. - [Theme](https://www.shoplazza.dev/docs/theme/references/liquid/tags/theme-tags.md): Liquid theme tags in Shoplazza themes: include, render, section, javascript and stylesheet, which pull snippets, sections and theme assets into a template. - [Variable](https://www.shoplazza.dev/docs/theme/references/liquid/tags/variable-tags.md): Liquid variable tags in Shoplazza themes: assign, capture, increment and decrement, plus the naming conflict that lets a variable shadow a Liquid object. - [Filters](https://www.shoplazza.dev/docs/theme/references/liquid/filters.md): How Liquid filters modify output in a Shoplazza theme: filter syntax, passing parameters, chaining several filters, and the filter groups available by category. - [Array](https://www.shoplazza.dev/docs/theme/references/liquid/filters/array-filters.md): Liquid array filters for Shoplazza themes: concat, first, join, last, map, reverse, size, sort and uniq for reshaping arrays before they are output. - [Collection](https://www.shoplazza.dev/docs/theme/references/liquid/filters/collection.md): The Liquid within filter, which builds a product URL scoped to a collection so a Shoplazza theme keeps the collection context in storefront links. - [Color](https://www.shoplazza.dev/docs/theme/references/liquid/filters/color.md): Liquid color filters for Shoplazza themes: read, lighten, darken, mix and convert CSS color strings, typically the values coming from color theme settings. - [Customer](https://www.shoplazza.dev/docs/theme/references/liquid/filters/customer.md): The Liquid customer_login_link filter, which outputs the URL that lets a customer sign in to their account on a Shoplazza storefront. - [Default](https://www.shoplazza.dev/docs/theme/references/liquid/filters/default.md): The Liquid default filter, which supplies a fallback value in a Shoplazza theme when a variable is nil, false or empty. - [Font](https://www.shoplazza.dev/docs/theme/references/liquid/filters/font.md): Liquid font filters for Shoplazza themes: font_face and font_url, which load a font or build a URL from a font object defined in a font_picker theme setting. - [Format](https://www.shoplazza.dev/docs/theme/references/liquid/filters/format.md): Liquid format filters for Shoplazza themes: date for formatting dates and Unix timestamps, json for serializing a value, and weight_with_unit for weights. - [HTML](https://www.shoplazza.dev/docs/theme/references/liquid/filters/html.md): Liquid HTML filters for Shoplazza themes: link_to, script_tag, stylesheet_tag, preload_tag, time_tag and the placeholder SVG filters that build HTML elements. - [Hosted File](https://www.shoplazza.dev/docs/theme/references/liquid/filters/hosted-file.md): Liquid hosted file filters for Shoplazza themes, which build URLs for assets on the Shoplazza CDN, including files uploaded in the Shoplazza admin. - [Localization](https://www.shoplazza.dev/docs/theme/references/liquid/filters/localization.md): The Liquid t filter, which looks a key up in the theme's locale files so a Shoplazza storefront renders text in the visitor's language. - [Math](https://www.shoplazza.dev/docs/theme/references/liquid/filters/math-filters.md): Liquid math filters for Shoplazza themes: abs, ceil, floor, round, plus, minus, times, divided_by and modulo, applied left to right when chained. - [Media](https://www.shoplazza.dev/docs/theme/references/liquid/filters/media.md): Liquid media filters for Shoplazza themes: img_url for sizing and rendering an image, and media_parse for reading the media attached to store resources. - [Metafield](https://www.shoplazza.dev/docs/theme/references/liquid/filters/metafield.md): Liquid metafield filters for Shoplazza themes: metafield_tag renders a metafield inside a matching HTML element, and metafield_text outputs it as plain text. - [Money](https://www.shoplazza.dev/docs/theme/references/liquid/filters/money.md): Liquid money filters for Shoplazza themes, which format a price according to the currency format configured in the Shoplazza admin, with or without the currency. - [Product](https://www.shoplazza.dev/docs/theme/references/liquid/filters/product.md): Liquid product filters for Shoplazza themes: secondary_image for a product's alternate image and option_thumbnails for the thumbnails of a product option. - [String](https://www.shoplazza.dev/docs/theme/references/liquid/filters/string-filters.md): Liquid string filters for Shoplazza themes: append, replace, truncate, handleize, escape, upcase, the hash filters and the rest of the string transformations. - [Objects](https://www.shoplazza.dev/docs/theme/references/liquid/objects.md): How Liquid objects expose store data to a Shoplazza theme: what an object holds, how to access its properties, and where each object becomes available. - [address](https://www.shoplazza.dev/docs/theme/references/liquid/objects/address.md): The address Liquid object in a Shoplazza theme, holding one address such as an order shipping address, with the full list of its properties. - [all_products](https://www.shoplazza.dev/docs/theme/references/liquid/objects/all_products.md): The all_products Liquid object, which holds every product in a Shoplazza store and lets a theme look up one product by id, or an empty array if missing. - [article](https://www.shoplazza.dev/docs/theme/references/liquid/objects/article.md): The article Liquid object in a Shoplazza theme, representing one article in a blog, with the full list of its properties. - [articles](https://www.shoplazza.dev/docs/theme/references/liquid/objects/articles.md): The articles Liquid object, which holds every article across the blogs of a Shoplazza store and lets a theme access one article by its handle. - [block](https://www.shoplazza.dev/docs/theme/references/liquid/objects/blocks.md): The block Liquid object in a Shoplazza theme, which carries the content and settings of a section block as it is rendered inside a template. - [blog](https://www.shoplazza.dev/docs/theme/references/liquid/objects/blog.md): The blog Liquid object in a Shoplazza theme, holding the information of one blog in the store, with the full list of its properties. - [canonical_url](https://www.shoplazza.dev/docs/theme/references/liquid/objects/canonical_url.md): The canonical_url Liquid object, which returns the canonical URL of the current Shoplazza storefront page for use in the page's SEO metadata. - [cart](https://www.shoplazza.dev/docs/theme/references/liquid/objects/cart.md): The cart Liquid object in a Shoplazza theme, holding a customer's cart and its line items, totals and attributes, with the full list of its properties. - [collection](https://www.shoplazza.dev/docs/theme/references/liquid/objects/collection.md): The collection Liquid object in a Shoplazza theme, representing one collection in the store, with the full list of its properties. - [collections](https://www.shoplazza.dev/docs/theme/references/liquid/objects/collections.md): The collections Liquid object, which holds every collection in a Shoplazza store so a theme can iterate over them or reach one specific collection. - [content_for_header](https://www.shoplazza.dev/docs/theme/references/liquid/objects/content_for_header.md): The content_for_header Liquid object, which outputs the scripts Shoplazza requires and must be placed inside the head tag of a theme layout file. - [content_for_layout](https://www.shoplazza.dev/docs/theme/references/liquid/objects/content_for_layout.md): The content_for_layout Liquid object, which renders the content of the current template and must be placed inside the body tag of a theme layout file. - [customer](https://www.shoplazza.dev/docs/theme/references/liquid/objects/customer.md): The customer Liquid object in a Shoplazza theme, holding the signed-in customer and returning nil when nobody is signed in, with the full list of its properties. - [default_collection](https://www.shoplazza.dev/docs/theme/references/liquid/objects/default_collection.md): The default_collection Liquid object, which supplies placeholder collection data so a Shoplazza theme can render a collection layout before real data exists. - [default_product](https://www.shoplazza.dev/docs/theme/references/liquid/objects/default_product.md): The default_product Liquid object, which supplies placeholder product data so a Shoplazza theme can render a product layout before real data exists. - [discount_application](https://www.shoplazza.dev/docs/theme/references/liquid/objects/discount_application.md): The discount_application Liquid object, which describes the intent of a discount so a Shoplazza theme can show how it applies to a cart or an order. - [filter](https://www.shoplazza.dev/docs/theme/references/liquid/objects/filter.md): The filter Liquid object, which represents one storefront filter in a Shoplazza theme, with the properties needed to render it on a collection or search page. - [filter_value](https://www.shoplazza.dev/docs/theme/references/liquid/objects/filter_value.md): The filter_value Liquid object, which represents one selectable value of a storefront filter in a Shoplazza theme, with the full list of its properties. - [font](https://www.shoplazza.dev/docs/theme/references/liquid/objects/font.md): The font Liquid object in a Shoplazza theme, which comes from a font_picker setting and is used together with the font filters to load a font or its variants. - [forloop](https://www.shoplazza.dev/docs/theme/references/liquid/objects/forloop.md): The forloop Liquid object, which exposes the state of the surrounding for loop in a Shoplazza theme, such as the current index and whether it is the last pass. - [handle](https://www.shoplazza.dev/docs/theme/references/liquid/objects/handle.md): The handle Liquid object, which returns the handle of the resource behind the current Shoplazza template, and only on the templates listed on this page. - [image](https://www.shoplazza.dev/docs/theme/references/liquid/objects/image.md): The image Liquid object in a Shoplazza theme, representing a product or collection image that is rendered on the storefront with the img_url filter. - [images](https://www.shoplazza.dev/docs/theme/references/liquid/objects/images.md): The images Liquid object, which holds every image in a Shoplazza store and lets a theme access one image by its filename. - [ip_address](https://www.shoplazza.dev/docs/theme/references/liquid/objects/ip_address.md): The ip_address Liquid object, which returns the country code matching the visitor's IP inside the order verify template of a Shoplazza theme. - [line_item](https://www.shoplazza.dev/docs/theme/references/liquid/objects/line_item.md): The line_item Liquid object in a Shoplazza theme, representing one line of a cart or an order for a single product variant, with the full list of its properties. - [link](https://www.shoplazza.dev/docs/theme/references/liquid/objects/link_item.md): The link Liquid object in a Shoplazza theme, representing one entry in a store menu, with the properties needed to render navigation. - [linklist](https://www.shoplazza.dev/docs/theme/references/liquid/objects/linklist.md): The linklist Liquid object in a Shoplazza theme, representing one menu in the store together with the links it contains. - [linklists](https://www.shoplazza.dev/docs/theme/references/liquid/objects/linklists.md): The linklists Liquid object, which holds every menu in a Shoplazza store so a theme can reach one specific menu by its id. - [measurement](https://www.shoplazza.dev/docs/theme/references/liquid/objects/measurement.md): The measurement Liquid object, which carries the value and unit returned by a dimension, volume or weight metafield in a Shoplazza theme. - [media](https://www.shoplazza.dev/docs/theme/references/liquid/objects/media.md): The media Liquid object, an abstract object in a Shoplazza theme that can stand for a video or another media type attached to a store resource. - [metafield](https://www.shoplazza.dev/docs/theme/references/liquid/objects/metafield.md): The metafield Liquid object in a Shoplazza theme, and how to access the metafields of a parent object, including object-type and typed metafields. - [option_thumbnail](https://www.shoplazza.dev/docs/theme/references/liquid/objects/option_thumbnail.md): The option_thumbnail Liquid object, which represents one option thumbnail returned by the option_thumbnails filter in a Shoplazza theme. - [order](https://www.shoplazza.dev/docs/theme/references/liquid/objects/order.md): The order Liquid object in a Shoplazza theme, holding one order of the store, with the full list of its properties. - [order_allowed_actions](https://www.shoplazza.dev/docs/theme/references/liquid/objects/order_allowed_actions.md): The order_allowed_actions Liquid object, which tells a Shoplazza theme which actions the customer is allowed to take on the current order. - [order_info](https://www.shoplazza.dev/docs/theme/references/liquid/objects/order_info.md): The order_info Liquid object, which carries the descriptive information of an order in a Shoplazza theme, with the full list of its properties. - [order_payment_line](https://www.shoplazza.dev/docs/theme/references/liquid/objects/order_payment_line.md): The order_payment_line Liquid object, which represents one payment line of an order in a Shoplazza theme, with the full list of its properties. - [order_shipping_email](https://www.shoplazza.dev/docs/theme/references/liquid/objects/order_shipping_email.md): The order_shipping_email Liquid object, which returns true in the order verify template of a Shoplazza theme when the order was placed by email. - [order_shipping_phone](https://www.shoplazza.dev/docs/theme/references/liquid/objects/order_shipping_phone.md): The order_shipping_phone Liquid object, which returns true in the order verify template of a Shoplazza theme when the order was placed by phone. - [page](https://www.shoplazza.dev/docs/theme/references/liquid/objects/page.md): The page Liquid object in a Shoplazza theme, representing one custom page of the store, with the full list of its properties. - [page_description](https://www.shoplazza.dev/docs/theme/references/liquid/objects/page_description.md): The page_description Liquid object, which supplies the meta description of the current Shoplazza storefront page for search listings and social previews. - [page_title](https://www.shoplazza.dev/docs/theme/references/liquid/objects/page_title.md): The page_title Liquid object, which supplies the title of the current Shoplazza storefront page for search listings and social previews. - [pages](https://www.shoplazza.dev/docs/theme/references/liquid/objects/pages.md): The pages Liquid object, which holds every custom page of a Shoplazza store so a theme can reach one page by its id. - [paginate](https://www.shoplazza.dev/docs/theme/references/liquid/objects/paginate.md): The paginate Liquid object, which describes the pagination state inside a pair of paginate tags in a Shoplazza theme, for rendering a pager. - [part](https://www.shoplazza.dev/docs/theme/references/liquid/objects/part.md): The part Liquid object, which represents one entry in the pagination navigation of a Shoplazza theme, such as a page number or a gap. - [phone_area](https://www.shoplazza.dev/docs/theme/references/liquid/objects/phone_area.md): The phone_area Liquid object, which returns the phone area code data available inside the order verify template of a Shoplazza theme. - [product](https://www.shoplazza.dev/docs/theme/references/liquid/objects/product.md): The product Liquid object in a Shoplazza theme, holding one product of the store with its variants, options, media and price, and the full property list. - [product_option](https://www.shoplazza.dev/docs/theme/references/liquid/objects/product_option.md): The product_option Liquid object, which represents a product option such as color or size in a Shoplazza theme, with the full list of its properties. - [rating](https://www.shoplazza.dev/docs/theme/references/liquid/objects/rating.md): The rating Liquid object, which a rating metafield returns in a Shoplazza theme and which is read through the metafield's value property. - [routes](https://www.shoplazza.dev/docs/theme/references/liquid/objects/routes.md): The routes Liquid object, which generates the standard storefront URLs of a Shoplazza theme so links keep working across languages and URL format changes. - [search](https://www.shoplazza.dev/docs/theme/references/liquid/objects/search.md): The search Liquid object in a Shoplazza theme, which carries the current storefront search query and its results, with the full list of its properties. - [section](https://www.shoplazza.dev/docs/theme/references/liquid/objects/sections.md): The section Liquid object in a Shoplazza theme, which exposes the properties, settings and blocks of the section currently being rendered. - [settings](https://www.shoplazza.dev/docs/theme/references/liquid/objects/settings.md): The settings Liquid object, which gives a Shoplazza theme access to every theme setting defined in settings_schema.json, and how to reference one value. - [shop](https://www.shoplazza.dev/docs/theme/references/liquid/objects/shop.md): The shop Liquid object in a Shoplazza theme, holding store-level information such as the store address, product count and store settings. - [tablerowloop](https://www.shoplazza.dev/docs/theme/references/liquid/objects/tablerowloop.md): The tablerowloop Liquid object, which exposes the state of the surrounding tablerow loop in a Shoplazza theme, such as row, column and index. - [template](https://www.shoplazza.dev/docs/theme/references/liquid/objects/template.md): The template Liquid object, which tells a Shoplazza theme which template is rendering the current page, with the full list of its properties. - [variant](https://www.shoplazza.dev/docs/theme/references/liquid/objects/variant.md): The variant Liquid object in a Shoplazza theme, representing one product variant with its price, inventory and option values, and the full property list. - [variant_option](https://www.shoplazza.dev/docs/theme/references/liquid/objects/variant_option.md): The variant_option Liquid object, which represents one option value of a product variant in a Shoplazza theme, such as a specific color or size. - [video](https://www.shoplazza.dev/docs/theme/references/liquid/objects/video.md): The video Liquid object in a Shoplazza theme, holding the information of an uploaded video, with the full list of its properties. - [video_source](https://www.shoplazza.dev/docs/theme/references/liquid/objects/video_source.md): The video_source Liquid object, which describes the source files of a video in a Shoplazza theme, such as the format and URL of each file. - [Ajax API overview](https://www.shoplazza.dev/docs/theme/references/ajax-api.md): How the Shoplazza Ajax API works: what storefront JavaScript can use it for, how to send a request from a theme, and why endpoints need locale-aware URLs. - [Cart](https://www.shoplazza.dev/docs/theme/references/ajax-api/cart.md): Ajax API endpoints for the storefront cart: read the cart, add or batch-add variants, change line item quantities, remove lines, and save a cart note. - [Product](https://www.shoplazza.dev/docs/theme/references/ajax-api/product.md): Ajax API endpoints that read product data from the storefront: get a product as JSON by id, list recently viewed products, and get a product's subscription plans. - [Collection](https://www.shoplazza.dev/docs/theme/references/ajax-api/collection.md): Ajax API endpoints for collections: page through the products of a collection, filter those products, and list the filters a collection offers to the storefront. - [Search](https://www.shoplazza.dev/docs/theme/references/ajax-api/search.md): Ajax API endpoint for storefront search: query products by keyword and render predictive search results while the visitor is still typing. - [Product recommendations](https://www.shoplazza.dev/docs/theme/references/ajax-api/product-recommendations.md): Ajax API endpoint that returns the products recommended for a given product, so a theme can render a related products block on the product page. - [Customer](https://www.shoplazza.dev/docs/theme/references/ajax-api/customer.md): Ajax API endpoints for customer accounts: register, sign in and out, reset a password, read and update the profile, and manage a customer's addresses. - [Order](https://www.shoplazza.dev/docs/theme/references/ajax-api/order.md): Ajax API endpoints for orders: read a signed-in customer's orders, cancel an order, confirm receipt, request deletion, and track a package by tracking number. - [Checkout](https://www.shoplazza.dev/docs/theme/references/ajax-api/checkout.md): Ajax API endpoints that open a checkout session from storefront JavaScript, used by Buy now buttons and by Pay now buttons that reopen payment on an unpaid order. - [Blog](https://www.shoplazza.dev/docs/theme/references/ajax-api/blog.md): Ajax API endpoints that read the store's blogs and the articles inside a blog, both open to anonymous visitors, for building blog lists in a theme. - [Page](https://www.shoplazza.dev/docs/theme/references/ajax-api/page.md): Ajax API endpoints that return the store's custom pages and the HTML content of a single page, both open to anonymous visitors. - [Menu](https://www.shoplazza.dev/docs/theme/references/ajax-api/menu.md): Ajax API endpoints that return the store's navigation menus and the nested items of one menu, so a theme can render navigation from JavaScript. - [Metafields](https://www.shoplazza.dev/docs/theme/references/ajax-api/metafields.md): Ajax API endpoints that read metafields from storefront JavaScript by object id, covering the cases Liquid cannot reach after the page has rendered. - [Other](https://www.shoplazza.dev/docs/theme/references/ajax-api/other.md): Ajax API endpoints for storefront reference data: phone codes, currencies, countries and provinces, the visitor's country, coupons, and the language pack.