Store design objects
On this page
Use this article to find the object behind a part of the storefront. It is an inventory rather than an explanation.
:::note For how these records work together, which one controls a given part of the page, and what to change to affect it, read how stores, themes, and design elements relate. That article covers the model; this one lists the objects and their API names. :::
Four chains to know
The domain is not one hierarchy. It is four short chains that all start at the Store.
| Chain | Records |
|---|---|
| Markup | Store → Theme → Templates, Assets, Variables, Locales |
| Content | Page → Content Block Page → Content Block → nested blocks |
| Navigation | Store → Menu → Menu Items |
| Injection | Store → Style Block, Script Block |
Two things about that table are worth stating plainly, because they are what people get wrong:
- A content block is never on a page directly. The join record is what places it, and it carries the order. See junction objects.
- The store, not the theme, decides most configuration. The theme owns markup. Currency, checkout behavior, domain, and which menus to use are on the Store record.
Objects in this domain
| Object | API name | Purpose |
|---|---|---|
| Store | s_c__Store__c |
The hub. Holds branding, currency, checkout settings, domain, and which theme and menus to use |
| Store Group | s_c__Store_Group__c |
Groups stores that share configuration or catalog |
| Store Variable | s_c__Store_Variable__c |
A named value a theme can read, for settings without a code change |
| Store Role | s_c__Store_Role__c |
A named role used to grant staff permissions on a store |
| Web Domain | s_c__Web_Domain__c |
A domain or path a store is served from |
| Route Mapping | s_c__Route_Mapping__c |
Maps a URL path to the page or record that answers it |
| Locale Translation | s_c__Locale_Translation__c |
A translated string for one locale |
| Theme | s_c__Theme__c |
A named set of templates, assets, variables, and locales. A store points at one |
| Theme Template | s_c__Theme_Template__c |
One Liquid template, keyed by the page type or block it renders |
| Theme Asset | s_c__Theme_Asset__c |
A file the theme serves, such as CSS, JavaScript, or a font |
| Theme Variable | s_c__Theme_Variable__c |
A value the theme reads, set per theme rather than per store |
| Theme Locale | s_c__Theme_Locale__c |
Theme-level translations for one locale |
| Page | s_c__Page__c |
A content page, with its slug, SEO fields, and body |
| Page Tag | s_c__Page_Tag__c |
Attaches a tag to a page |
| Related Page | s_c__Related_Page__c |
Links two pages so one appears as related on the other |
| Content Block | s_c__Content_Block__c |
A reusable piece of page content, with a template and its own fields |
| Content Block Page | s_c__Content_Blocks_Pages__c |
Places a content block on a page, in order |
| Content Block Product | s_c__Content_Blocks_Products__c |
Places a content block on a product |
| Content Block Article | s_c__Content_Blocks_Articles__c |
Places a content block on an article |
| Content Block Product Category | s_c__Content_Blocks_Product_Categories__c |
Places a content block on a category |
| Content Block Child | s_c__Content_Blocks_Children__c |
Nests one content block inside another |
| Menu | s_c__Menu__c |
A named navigation menu. A store points at one for its header and one for its footer |
| Menu Item | s_c__Menu_Item__c |
One entry in a menu, linking to a page, category, product, or URL |
| Style Block | s_c__Style_Block__c |
CSS injected into the storefront, scoped to a store |
| Script Block | s_c__Script_Block__c |
JavaScript or tracking markup injected into the storefront |
Where it meets other domains
- Catalog. Content blocks attach to products and categories as well as pages, and menu items link to them. See catalog objects.
- Content. Articles and their categories are separate from pages and take content blocks the same way, through Content Block Article.
- Customers and accounts. A membership can gate a page or an article, through Membership Page and Membership Article. See customer and account objects.
- The storefront. Most of these objects have a Liquid counterpart, and the On the storefront section on each object reference names it. The Theme Template records are the template keys a theme resolves.
Almost every relationship in this domain runs through a join record, more so than anywhere else in the schema. Junction objects is worth reading before you query or import here.
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.