Studio Arcana — Team and services with metaobjects
Define Shopify metaobjects, create entries, and attach them in Specialist team and Service menu sections.
Field-level specs for automation partners also live in the monorepo under docs/ (for example studio-arcana-metaobjects.md).
This guide explains how to define Shopify metaobjects, create entries, and attach them in the theme for Specialist team and Service menu sections. Metaobjects keep specialists and services under Content → Metaobjects so you can scale many staff or services without duplicating fields across lots of theme blocks. Manual blocks (Team member, Service card) are still available if you prefer to edit everything in the theme editor only.
1. What you gain
- Central content: Edit specialists and services under Content → Metaobjects instead of duplicating fields across many theme blocks.
- Reuse: The same specialist or service entry can be referenced from multiple sections or templates.
- Scale: One theme block can list up to 50 entries per picker (subject to section max blocks limits for other block types).
2. Prerequisites
- Theme version that includes the metaobject blocks: Specialist team section → Team (metaobjects) block; Service menu section → Services (metaobjects) block.
- Store admin access to Settings → Custom data → Metaobjects and Content → Metaobjects.
- Metaobject definitions on the store with Storefront access so the Online Store can read entries. Handles must include studio_specialist and studio_service. Optional: studio_location — not required for these two sections.
If definitions are missing or storefront access is off, the theme editor may show an error on the metaobject list setting, or the storefront may render empty lists.
3. Create metaobject definitions (Admin)
Settings → Custom data → Metaobjects → Add definition.
For each type, use the definition handle and fields exactly as in your implementation spec (Arcanum Hollow Labs provides field lists for partners).
| Definition handle | Admin display name (suggested) | Storefront access |
|---|---|---|
| studio_specialist | Studio specialist | Public read |
| studio_service | Studio service | Public read |
After saving each definition, open Storefront access and enable public read for the online store.
Optional studio_location: Only needed if you model multiple locations with a list of specialists. It is not used by the Team (metaobjects) or Services (metaobjects) blocks in the theme today.
4. Field reference
studio_specialist (Specialist team)
| Field | Purpose |
|---|---|
| name | Display name (required). |
| role | Title or role. |
| bio | Bio text. |
| photo | Portrait (file_reference). |
| linked_services | List of service products; the theme uses the first product for the booking URL when Theme settings → Booking base URL is set. |
| booking_url | Used when booking base URL is not used, or as a fallback link. |
| profile_page | Specialist profile page destination (used for full-card click mode and the explicit profile CTA). |
| quick_book_product | Optional quick-book product used to build booking URL from Theme settings → Booking base URL. |
| quick_book_url | Optional direct quick-book URL fallback. |
specialty and years_experience are optional; fill them if you want richer profiles or future theme updates.
studio_service (Service menu)
| Field | Purpose |
|---|---|
| name | Service name (required). |
| description | Rich text in Admin; the storefront card shows a plain excerpt (HTML stripped, truncated). |
| service_product | Linked product: drives price, featured image, and booking handle when Booking base URL is set. |
| detail_page | Optional page URL (for example service detail template) when the booking link is not built from the product. |
Eyebrow: There is no separate metaobject field for eyebrow text; if Consultation required is enabled, the card shows the translated Consultation required eyebrow. Price and image come from the linked product when service_product is set. When the section option Use linked product photo when no image is set is on, the featured image comes from that product.
5. Create entries
Content → Metaobjects → choose Studio specialist / Studio service → Add entry.
Fill fields and upload images as needed. Save each entry. If your definitions use publishable status, ensure entries are active for the storefront.
6. Wire the theme (Online Store 2.0 editor)
- Open the template that contains Specialist team or Service menu (often the homepage).
- Add block → Team (metaobjects) or Services (metaobjects).
- In the block, open Specialists / Services and select the metaobject entries in the order you want.
- Save and preview the storefront.
Block order: Metaobject list blocks and manual blocks both appear in the section’s block list; order them as you would any blocks. You can use only metaobject blocks, only manual blocks, or both in the same section (watch total max blocks per section).
7. Booking and links
- Theme settings → Booking base URL and Booking param key still control query-param links when a product is linked (linked_services / service_product).
- Specialist profile link: profile_page when set; otherwise fallback to existing booking/link behavior.
- Specialist quick book: quick_book_product (theme booking URL from product handle) or quick_book_url.
- Specialist card interaction: when quick-book exists, cards show separate View profile and Quick book buttons; when quick-book is absent, the full card is clickable to the profile link.
- Service: service_product plus optional detail_page for a static page URL when the booking URL is not built from the product.
8. Manual blocks as an alternative
Team member and Service card blocks are not deprecated. Use them if you do not want metaobject definitions on the store. Avoid deleting metaobject definitions once entries reference them; test definition changes in a duplicate or development theme first.
9. Troubleshooting
| Issue | What to check |
|---|---|
| Theme editor shows an error on the metaobject picker | Definition handle must be exactly studio_specialist or studio_service. Definitions must exist on this store. |
| Picker is empty | Create entries under Content → Metaobjects. |
| Storefront shows no cards | Storefront access on definitions; entry status active if publishable; products/pages referenced by fields must exist. |
| Wrong or missing link | Booking base URL, service_product / linked_services, detail_page on services, and booking_url on specialists. |
| Description looks plain | Metaobject description is rich text; the theme intentionally shows a short plain excerpt on the card to match manual textarea-style cards. |
10. Further reading
- Internal field specs and seed scripts live in the Arcanum monorepo docs/ folder (studio-arcana-metaobjects.md, studio-arcana-theme.md) for developers and automation partners.
Was this page helpful?
Content is maintained by Arcanum Hollow Labs. For internal engineering notes, see the docs/ folder in the monorepo.