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

168 lines
4.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.