Files
website/CMS-CONTENT-MODEL.md
T
2026-04-23 01:08:18 +08:00

4.5 KiB
Raw Blame History

CMS Content Model

Selected platform: Payload CMS.

Locales

  • en (English)
  • zh (简体中文)

Every content type supports both locales. Editors can publish locales independently.

Content Types

1. Product

  • slug (unique per locale)
  • model (text)
  • template (select; options sourced from valid directories under webroot/Products/)
  • tagline (short text)
  • summary (rich text)
  • heroImage (media)
  • gallery (media list)
  • keyFeatures (list of { title, description, icon / image })
  • technologyHighlights (rich text blocks)
  • specifications (grouped list: group name + items)
  • firmware (group)
    • showOnProductPage (boolean; controls visibility on the product detail page)
    • showInDownloadsCenter (boolean; controls visibility in the site-wide Downloads center)
    • items (reference list: Download restricted to type = firmware)
    • displayLabel (optional text override)
  • downloads (reference: Download)
  • videos (reference: ProductVideo)
  • externalReviews (reference: ProductReview)
  • relatedProducts (reference list: Product)
  • seo (title, description, OG image)

Frontend rule:

  • Product detail pages must render related downloads, videos, and reviews below the template-owned middle content region.

2. Product Category

  • slug
  • name
  • description
  • order
  • heroImage

3. Homepage

Singleton.

  • heroScene (image or video, headline, supporting line, primary CTA, secondary CTA)
  • featuredProducts (exactly 4 references to Product)
  • statement (short rich text)
  • supportShortcuts (list of 34 links)
  • newsHighlights (optional list of up to 3 news references)
  • seo

4. Support Page

Singleton.

  • intro
  • primaryEntries (FAQ, Warranty, Contact — each with short blurb)
  • secondaryEntries (Downloads, Manuals, Firmware — each with short blurb)
  • seo

5. FAQ

  • group (e.g., Setup, Streaming, Hardware)
  • question
  • answer (rich text)
  • relatedProducts (optional references)
  • order

6. Warranty

Singleton.

  • intro
  • policyBody (rich text)
  • registrationCta (optional link)
  • regionalNotes (optional blocks per region)
  • seo

7. Contact

Singleton.

  • intro
  • regions (list of { region, email, phone, address, hours })
  • formEnabled (boolean)
  • seo

8. Download

  • title
  • type (firmware | manual | software | other)
  • product (reference)
  • version
  • releaseDate
  • file (media)
  • notes (rich text)

8a. Product Video

  • title
  • product (reference)
  • provider (youtube | vimeo | bilibili | other)
  • videoUrl
  • thumbnail (optional media)
  • description (rich text)

8b. Product Review

  • title
  • product (reference)
  • sourceName
  • reviewUrl
  • thumbnail (optional media)
  • excerpt

9. About

Singleton.

  • intro
  • brandStory (rich text)
  • philosophy (rich text)
  • milestones (list)
  • seo

10. Dealer

  • region
  • country
  • name
  • website
  • email
  • phone
  • address

11. News Article

  • slug
  • category (announcement | press | review | event)
  • title
  • excerpt
  • body (rich text)
  • coverImage
  • publishedAt
  • relatedProducts (optional)
  • seo

12. Global Settings

Singleton.

  • siteName
  • logo
  • navigation (structured)
  • footer (structured)
  • socialLinks
  • defaultSeo
  • redirects (list of { from, to, statusCode })

Editorial Workflow

  • Draft → Review → Published
  • Preview URLs for each content type
  • Scheduled publishing for News
  • Role-based access for editors, reviewers, and admins

Payload Implementation Notes

  • Use Payload globals for Homepage, Support, Warranty, Contact, About, and Global Settings.
  • Use Payload collections for Products, Product Categories, FAQ, Downloads, Product Videos, Product Reviews, Dealers, and News Articles.
  • Enable localization at the field level where content differs by locale.
  • Store redirect rules in Global Settings or a dedicated Redirect collection.
  • Use upload collections for image, video, and file assets.
  • The Product firmware.showOnProductPage and firmware.showInDownloadsCenter toggles are independent. Each controls visibility in its surface only; editors can enable either, both, or neither.

Localization Rules

  • Each localized field is edited independently.
  • Missing translations are allowed and fall back gracefully in the UI.
  • Structured references (products, downloads) resolve per current locale.

Media

  • All images uploaded once, cropped per aspect ratio in CMS.
  • Video uploads capped; prefer external CDN or provider integration for hero video.