Metaobjects
The Nama theme leans heavily on metaobjects for structured, reusable content. Instead of duplicating settings across every section, you create a metaobject entry once in the Shopify admin and connect it wherever it’s needed — on a product, a collection, or a standalone page. Most connections happen through dynamic source on product and collection templates, so the right data shows up automatically per resource.
The canonical field definitions live in metaobject-definitions.yaml at the
repo root. What follows is the human-readable version.
FAQ System
Section titled “FAQ System”Two types work together: individual questions live in FAQ Item entries, and a FAQ Group bundles them into a reusable cluster.
faq_item
Section titled “faq_item”A single question-and-answer pair.
| Field | Type | Description |
|---|---|---|
| label | Text | Admin label for identification |
| question | Text | The question displayed to visitors |
| answer | Rich text | The answer, supports full rich text formatting |
| open_by_default | Boolean | Whether the accordion row starts expanded |
faq_group
Section titled “faq_group”A cluster of FAQ items that can be attached to any product or collection.
| Field | Type | Description |
|---|---|---|
| section_title | Text | Admin-facing title (not rendered on the front end) |
| faq_items | List of faq_item |
The questions in this cluster, in order |
Used by: FAQs. Connected via nama.product_faqs on products and nama.collection_faqs on collections, typically through dynamic source.
Product Feature Steps
Section titled “Product Feature Steps”A numbered walkthrough of product highlights — think “how it works” or “key features.”
product_feature_step
Section titled “product_feature_step”One step in the sequence.
| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| label | Text | Step label shown above the title (e.g. “Step 1”) |
| title | Text | Step heading |
| description | Multi-line text | Step body copy |
| image | File | Media for this step (image or video) |
product_feature_section
Section titled “product_feature_section”The cluster that groups steps together with optional intro copy.
| Field | Type | Description |
|---|---|---|
| title | Text | Section title |
| tag | Text | Eyebrow tag line above the title |
| heading | Text | Section heading |
| description | Multi-line text | Introductory paragraph |
| steps | List of product_feature_step |
The steps, in order |
Used by: Feature Steps. Connected via nama.product_feature_section on products.
Product Accordion
Section titled “Product Accordion”The expandable rows on product pages — specs, materials, shipping details.
product_accordion_item
Section titled “product_accordion_item”A single expandable row.
| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| title | Text | Row heading |
| content | Multi-line text | Row body content |
| open_by_default | Boolean | Whether the row starts expanded |
product_accordion_cluster
Section titled “product_accordion_cluster”A set of accordion items attached to a product.
| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| items | List of product_accordion_item |
The accordion rows, in order |
Used by: Main Product (accordion block). Connected via nama.product_accordion_cluster on products.
Comparison Table
Section titled “Comparison Table”The spec-comparison grid shown on product and collection pages.
comparison_stat
Section titled “comparison_stat”A single stat label (e.g. “Motor Power”, “Weight”). Shared across products.
| Field | Type | Description |
|---|---|---|
| label | Text | The stat name shown in the table header |
| sort_order | Integer | Controls display order |
comparison_row
Section titled “comparison_row”One product’s value for a particular stat.
| Field | Type | Description |
|---|---|---|
| title | Text | Admin label |
| stat | Reference to comparison_stat |
Which stat this row represents |
| value | Text | The value for this product (e.g. “1500W”, “4.2 kg”) |
comparison_specs
Section titled “comparison_specs”The full specification set for a product.
| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| rows | List of comparison_row |
All stat values for this product |
Used by: Comparison Table. Connected via nama.comparison_specs on products. The section also reads nama.comparison_products (a product list metafield, not a metaobject) to know which products to compare.
Featured Editorial
Section titled “Featured Editorial”A rich media card for storytelling on product pages — image pair, video, CTA.
product_featured_editorial
Section titled “product_featured_editorial”| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| title | Text | Headline |
| primary_media | File | Main image |
| accent_media | File | Secondary/accent image |
| description | Multi-line text | Body copy |
| cta_label | Text | Button text |
| cta_url | URL | Button destination |
| vimeo_url | URL | Video embed URL (Vimeo or YouTube — auto-detected) |
| site_video_native | File | Self-hosted video file |
Used by: Featured Editorial. Connected via nama.product_featured_editorial on products.
Featured Articles
Section titled “Featured Articles”A curated set of blog articles shown on product or collection pages.
featured_articles
Section titled “featured_articles”| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| title | Text | Section heading |
| blog | Text | Blog handle to pull articles from |
| tag | Text | Tag to filter by (e.g. product_nama-j2) |
| article_1 | Article reference | First manually picked article |
| article_2 | Article reference | Second manually picked article |
| article_3 | Article reference | Third manually picked article |
| article_4 | Article reference | Fourth manually picked article |
| cta_label | Text | “View all” button text |
| url | Text | “View all” button destination |
| card_tag_source | Text | blog_category group name for card tags (e.g. recipe_type, article_topic) |
| card_tag_prefix | Text | Tag prefix for card tag lookup (e.g. type_, topic_) |
Used by: Featured Recipes. Connected via nama.product_featured_recipes on products and nama.collection_featured_articles on collections.
Social Slides
Section titled “Social Slides”User-generated or social media content shown in a horizontal scroll.
social_slide_item
Section titled “social_slide_item”One slide — an image or a video with an optional social attribution.
| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| media_type | Text | image or video |
| image | File | Slide image |
| video | File | Slide video |
| poster | File | Video poster/thumbnail image |
| autoplay | Boolean | Whether video auto-plays on scroll |
| social_handle | Text | Social media handle (e.g. @namawell) |
| social_url | URL | Link to the original post |
slides
Section titled “slides”A cluster of social slides with optional CTA.
| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| title | Text | Section heading |
| slides | List of social_slide_item |
The slides, in order |
| cta_url | URL | CTA link destination |
| cta_label | Text | CTA link text |
Used by: Social Slider. Connected via nama.product_social_slides on products.
Text / Image Split
Section titled “Text / Image Split”Side-by-side content-and-media blocks used on mid-tier product pages.
text_image_split
Section titled “text_image_split”| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| tag | Text | Eyebrow tag line |
| title | Text | Heading |
| body | Multi-line text | Body copy |
| button_label | Text | CTA button text |
| button_url | Text | CTA button destination |
| button_style | Text | Button style variant |
| image | File | Desktop image |
| image_mobile | File | Mobile-specific image override |
| media_position | Text | left or right |
| content_width | Text | Controls the text column width |
| media_full_bleed | Boolean | Whether the image bleeds to the edge |
| text_alignment | Text | Horizontal text alignment |
| vertical_alignment | Text | Vertical alignment of text vs. media |
Used by: Text / Image Split. Connected via nama.product_text_image_split (a list) on products, so multiple splits can appear on one page.
Educators
Section titled “Educators”People featured in “learn from the experts” sections.
educator
Section titled “educator”| Field | Type | Description |
|---|---|---|
| name | Text | Educator’s name |
| bio | Multi-line text | Short biography |
| image | File | Portrait photo |
Used by: Educators. Connected via nama.product_educators (a list) on products.
Total Kitchen / System
Section titled “Total Kitchen / System”The “complete system” showcase on flagship product pages — a hero product, accessories grid, and collection link.
system_block_accessory
Section titled “system_block_accessory”One accessory card in the system grid.
| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| product | Product reference | The accessory product |
| image | File | Card image |
| hover_image | File | Hover-state image |
| override_title | Text | Title override (falls back to product title) |
| description | Text | Short description |
| cta_label | Text | Button text |
system_block
Section titled “system_block”The full system configuration for a product.
| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| title | Text | Section title |
| description | Multi-line text | Section intro copy |
| hero_product | Product reference | The hero/primary product |
| hero_image | File | Hero product image |
| hero_title_override | Text | Override for the hero product title |
| hero_description | Multi-line text | Hero product description |
| hero_cta_label | Text | Hero CTA button text |
| subtitle | Text | Accessories section subtitle |
| collection | Collection reference | The full accessories collection |
| collection_link_label | Text | “Shop all” link text |
| accessories | List of system_block_accessory |
Individual accessory cards |
Used by: Total Kitchen. Connected via nama.system_block on products.
Collection Editorials
Section titled “Collection Editorials”Rich media cards injected into collection product grids at specific positions.
collection_editorial_card
Section titled “collection_editorial_card”One editorial card placed in the grid.
| Field | Type | Description |
|---|---|---|
| title | Text | Card title |
| media_type | Text | image or video |
| image | File | Card image |
| video | File | Card video |
| video_poster_image | File | Video poster frame |
| copy | Text | Short body text |
| link_url | URL | Card link destination |
| grid_position | Integer | Position in the desktop grid (1-based) |
| mobile_position | Integer | Position in the mobile grid |
| column_span | Integer | How many grid columns the card spans |
| title_size | Text | Title size variant |
collection_editorial_set
Section titled “collection_editorial_set”A cluster of editorial cards for one collection.
| Field | Type | Description |
|---|---|---|
| title | Text | Admin label |
| editorial_cards | List of collection_editorial_card |
The cards |
Used by: Main Collection. Connected via nama.collection_editorials on collections. Cards are hidden when filters or sorting are active.
Collection Filters
Section titled “Collection Filters”Tag-based filtering configuration for collection pages.
collection_filter_group
Section titled “collection_filter_group”One filter facet (e.g. “Product Type”, “Compatibility”).
| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| label | Text | Label shown in the filter UI |
| tag_prefix | Text | Tag prefix to match against (e.g. product_type_) |
collection_filter_set
Section titled “collection_filter_set”The complete filter configuration for a collection.
| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| filter_groups | List of collection_filter_group |
The filter facets |
| pill_group | Reference to collection_filter_group |
Which group renders as pill buttons above the grid |
| exclude_values | Text | Comma-separated tag values to hide from filters |
Used by: Collection Filters. Connected via nama.collection_filter_set on collections.
Photo Medley
Section titled “Photo Medley”A three-image collage layout for collection pages.
photo_medley
Section titled “photo_medley”| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| title | Text | Heading |
| description | Multi-line text | Body copy |
| large_image | File | The large image (left column) |
| top_image | File | Top-right image |
| bottom_image | File | Bottom-right image |
| tag | Text | Eyebrow tag line |
Used by: Photo Medley. Connected via custom.photo_medley on collections.
Trust Badges
Section titled “Trust Badges”Short trust signals shown on product pages (free shipping, warranty, etc.).
trust_badge
Section titled “trust_badge”| Field | Type | Description |
|---|---|---|
| content | Text | Badge text (e.g. “Free Shipping on Orders $50+”) |
| is_shipping | Boolean | Whether this is a shipping-specific badge (used for conditional display) |
Used by: The product trust badges block on Main Product. Connected via nama.product_trust_badges (a list) on products.
Card Images
Section titled “Card Images”Product card image sets used across collection grids, quick-add modals, and cart.
card_images
Section titled “card_images”| Field | Type | Description |
|---|---|---|
| name | Text | Admin label |
| images | List of files | Card images (first is default, second is hover) |
| comparison_image | File | Image used in the comparison table |
Used by: Product cards throughout the theme, the comparison table, mini-cart, and nav featured items. Connected via nama.product_card_images on products.
Bundle & Promotions
Section titled “Bundle & Promotions”bundle_offer
Section titled “bundle_offer”A product bundle shown as a checkbox on the PDP.
| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| title | Text | Offer headline |
| product | Product reference | The bundle product |
| description_override | Text | Custom description (falls back to product description) |
Used by: The bundle checkbox block on Main Product. Connected via nama.bundle_offer (a list) on products.
free_gift_option
Section titled “free_gift_option”A free gift shown in a dropdown selector.
| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| product | Product reference | The gift product |
| price_override | Text | Display price override (e.g. “FREE”) |
Used by: The promo selector block on Main Product. Connected via nama.free_gift_options (a list) on products.
cart_upsell_item
Section titled “cart_upsell_item”A product suggestion shown in the cart drawer or cart page.
| Field | Type | Description |
|---|---|---|
| title | Text | Upsell headline |
| product | Product reference | The suggested product |
| disclaimer | Text | Fine-print text below the upsell |
Used by: The cart drawer and cart page. Connected via nama.cart_upsell (a list) on products.
Product Extras
Section titled “Product Extras”plug_type
Section titled “plug_type”Electrical plug type options shown during variant selection.
| Field | Type | Description |
|---|---|---|
| label | Text | Plug type name (e.g. “Type A — US/Canada”) |
| image | File | Plug type illustration |
size_guides
Section titled “size_guides”Size guide modal content.
| Field | Type | Description |
|---|---|---|
| display_name | Text | Admin label |
| disclaimer | Rich text | Size guide content and disclaimers |
Used by: The variant options block on Main Product. Connected via modal.size_guide (a list) on products.
Recipe System
Section titled “Recipe System”Three types power the recipe blog: ingredients for filtering, recipe types for categorisation, and full recipe entries.
recipe_ingredient_items
Section titled “recipe_ingredient_items”A single ingredient used for recipe filtering.
| Field | Type | Description |
|---|---|---|
| single_ingredient | Text | Ingredient name |
| exclude_from_filters | Boolean | Hide this ingredient from the filter UI |
| single_ingredient_synonyms | List of text | Alternate names for search matching |
| sort_order | Integer | Display order in filter lists |
recipe_article
Section titled “recipe_article”A full metaobject-based recipe. Legacy — unused by the current theme. All recipes are blog articles at /blogs/recipes/. This metaobject type still exists in the admin but should have web pages disabled.
| Field | Type | Description |
|---|---|---|
| title | Text | Recipe title |
| recipe_type | List of blog_category |
Categories this recipe belongs to (group recipe_type) |
| made_with | List of product references | Products used in this recipe |
| featured_image | File | Hero image |
| thumbnail_image | File | Card thumbnail |
| body_content | Rich text | Recipe intro / story |
| ingredients | List of recipe_ingredient_items |
Structured ingredients for filtering |
| ingredient_step | List of text | Ingredient lines as displayed |
| garnish | List of text | Garnish items |
| direction_step | List of text | Step-by-step directions |
| notes | Rich text | Chef’s notes |
| makes | Text | Yield (e.g. “2 servings”) |
| search_tags | List of text | Tags for internal search |
| similar_recipes | List of recipe_article |
Related recipe suggestions |
| meta_description | Multi-line text | SEO meta description |
Used by: Main Recipe Article and Blog Listing. Recipe ingredients are connected via custom.recipe_base_ingredients on articles. Recipe types are connected via custom.recipe_type (which now references blog_category entries with group recipe_type).
Blog Categories
Section titled “Blog Categories”A unified category system that powers filtering and navigation across both recipe and editorial blogs.
blog_category
Section titled “blog_category”| Field | Type | Description |
|---|---|---|
| title | Text | Category name |
| card_label | Text | Short label for filter pills and cards |
| image | File | Category image |
| description | Text | Category description |
| color | Colour | Accent colour |
| sort_order | Integer | Display order |
| group | Text | Which taxonomy this belongs to (recipe_type, article_topic, article_category, or recipe_ingredient_items) |
Used by: Blog Listing for filter pills and category cards.
Geo / Country
Section titled “Geo / Country”Country-level configuration for international shipping messages and region-specific banners.
continent
Section titled “continent”| Field | Type | Description |
|---|---|---|
| continent_name | Text | Continent name |
country
Section titled “country”| Field | Type | Description |
|---|---|---|
| country_name | Text | Country display name |
| iso_code | Text | ISO country code (e.g. US, CA, GB) |
| continent | Reference to continent |
Which continent this country belongs to |
| featured_country | Boolean | Whether to feature this country in selectors |
| top_banner | List of text | Promotional banner messages for this country |
| shipping_message | Multi-line text | Shipping info shown at checkout and on PDP |
| enable_sale_collection | Boolean | Whether to show sale collection for this country |
Used by: The geo-detection and country-selector components in the header and announcement bar.
Explore Cards
Section titled “Explore Cards”Linked content cards used for cross-page navigation (e.g. “Explore more” sections).
explore_card
Section titled “explore_card”| Field | Type | Description |
|---|---|---|
| section_title | Text | Admin label |
| image | File | Card image |
| title | Text | Card heading |
| description | Rich text | Card body copy |
| url | URL | Card link destination |
explore_cards
Section titled “explore_cards”A cluster of explore cards.
| Field | Type | Description |
|---|---|---|
| title | Text | Section heading |
| cards | List of explore_card |
The cards, in order |
Used by: Explore Cards.