← Arcanum HollowDocs · 1.8.10

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 handleAdmin display name (suggested)Storefront access
studio_specialistStudio specialistPublic read
studio_serviceStudio servicePublic 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)

FieldPurpose
nameDisplay name (required).
roleTitle or role.
bioBio text.
photoPortrait (file_reference).
linked_servicesList of service products; the theme uses the first product for the booking URL when Theme settings → Booking base URL is set.
booking_urlUsed when booking base URL is not used, or as a fallback link.
profile_pageSpecialist profile page destination (used for full-card click mode and the explicit profile CTA).
portfolio_photosWork samples for the Portfolio gallery on specialist-profile pages (separate from team-card gallery photos).
primary_locationOptional home Studio location; quick-book appends location= from that entry’s booking_location_param.
quick_book_productOptional quick-book product used to build booking URL from Theme settings → Booking base URL.
quick_book_urlOptional direct quick-book URL fallback.
instagram_url / facebook_url / tiktok_url / youtube_url / x_url / pinterest_url / linkedin_url / whatsapp_url / yelp_url / google_urlOptional profile URLs for the Social links section on specialist-profile pages.
emailEmail address or mailto: for Social links.

specialty and years_experience are optional; fill them if you want richer profiles or future theme updates.

studio_service (Service menu)

FieldPurpose
nameService name (required).
descriptionRich text in Admin; the storefront card shows a plain excerpt (HTML stripped, truncated).
service_productLinked product: drives price, featured image, and booking handle when Booking base URL is set.
detail_pageOptional 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.

studio_location (Studio locations / Local trust)

FieldPurpose
nameLocation label (required).
address / hoursHuman-readable address and hours on cards.
opening_hoursSchema.org lines (Mo-Fr 10:00-19:00) for Open now and JSON-LD.
booking_location_paramValue for location= on booking URLs.
directions_url / map_embed / geo_* / notesDirections, map, coordinates, parking/accessibility notes.
specialistsList of studio_specialist entries at this studio.
location_pagePage that represents this studio; Social links auto-matches this handle like specialist profile_page.
instagram_url / … / google_url / emailOptional profile URLs and email for the Social links section.

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)

  1. Open the template that contains Specialist team or Service menu (often the homepage).
  2. Add block → Team (metaobjects) or Services (metaobjects).
  3. In the block, open Specialists / Services and select the metaobject entries in the order you want.
  4. 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). On specialist-profile templates, Portfolio gallery can load portfolio_photos from the matching Studio specialist entry—use Progressive load when a specialist has many photos. Social links can merge specialist or location social URL fields with manual blocks (source mode Merge / Metaobject / Manual).

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; Primary location appends location= when set.
  • 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.
  • Studio locations: booking_location_param on each location; specialist chips and Primary location keep the same location= context.
  • Social links: match studio_specialist via profile_page or studio_location via location_page (or section picker); merge mode lets manual blocks override a network URL.

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

IssueWhat to check
Theme editor shows an error on the metaobject pickerDefinition handle must be exactly studio_specialist or studio_service. Definitions must exist on this store.
Picker is emptyCreate entries under Content → Metaobjects.
Storefront shows no cardsStorefront access on definitions; entry status active if publishable; products/pages referenced by fields must exist.
Wrong or missing linkBooking base URL, service_product / linked_services, detail_page on services, and booking_url on specialists.
Description looks plainMetaobject 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.