Theme Editor
Overview
The Theme Editor is Siyahfy’s visual customization tool that lets vendors personalize their storefront without writing code. It provides a drag-and-drop interface for rearranging sections, a live preview that shows changes in real time, and controls for colors, fonts, images, and layout options. The editor works with whatever theme is installed from the Theme Marketplace, reading the theme’s section schema to generate the appropriate settings UI.
How It Works
Section Schema System
Each theme section defines its own schema using JSDoc annotations in the React component code. The Theme Editor reads these schemas to dynamically generate settings forms. For example, a Hero Banner section might expose settings for:
- Heading text
- Subtitle text
- Background image
- Button text and link
- Color scheme
- Layout (left-aligned, centered, full-width)
Configuration Storage
Theme configurations are stored as JSON in the database. Each page (home, product, collection, etc.) has its own ordered list of sections with their settings. When the vendor publishes, this configuration is served to the storefront renderer.
Menu Management
The Theme Editor also includes a menu builder for creating navigation menus (header nav, footer nav, mobile nav). Each menu item can link to a page, collection, product, blog, or external URL.
Key API Endpoints
Storefront Data (Public)
Theme Editor Configuration
Publishing & History
Menu Management
Image Management
Token Management
Database Tables
| Table | Purpose |
|---|---|
theme_editor_configs | Active theme configuration per store — JSON with pages, sections, global settings |
theme_editor_history | Version history of published configurations |
store_menus | Navigation menu definitions (header, footer, mobile) |
store_menu_items | Individual menu items with links, nesting, and order |
marketplace_themes | Theme metadata referenced by the editor config |
Related Features
- Theme Marketplace — Install themes to customize in the editor
- Developer Studio — Developers create themes with section schemas
- Storefront — The editor configuration renders the live store
- Blog & Pages — Pages and blogs linked from navigation menus