Field Configuration
Configure field properties in Pluslide templates, including sizing modes, alignment options, and API behavior settings like Static and Required flags.
Every field in your template has configuration options that control its appearance and behavior. This guide covers sizing, alignment, and API-related properties.
Sizing and Alignment
All field types support sizing and alignment options in the properties panel.
Sizing Modes
In the field properties panel, you can set Width and Height for each field:
| Mode | Behavior | Availability |
|---|---|---|
| Fixed | Exact pixel dimensions | All field types |
| Hug | Shrinks to fit content | Text, Group, List |
| Fill | Expands to fill parent container | Only inside Group or List |
Alignment Options
Alignment is controlled using icon buttons in the properties panel:
| Setting | Scope |
|---|---|
| Horizontal/Vertical alignment | How field positions within its parent cell (only in Group) |
| Inner horizontal/vertical alignment | Content within the field |
Static and Required
Two properties control how fields interact with the API:
| Property | Purpose |
|---|---|
| Static | Locks field content to template definition; ignores API data |
| Required | Forces API to provide a value; request fails if missing |
Static Fields
When a field is marked as Static, its content is defined entirely within the template and cannot be changed via API. The field will always display the default value you set in the editor.
┌─────────────────────────────────────┐
│ Template: company-slide │
│ │
│ ┌─────────────────────────────────┐ │
│ │ company_logo (Static: ON) │ │
│ │ Always shows: your-logo.png │ │
│ └─────────────────────────────────┘ │
│ │
│ ┌─────────────────────────────────┐ │
│ │ slide_title (Static: OFF) │ │
│ │ Shows: value from API │ │
│ └─────────────────────────────────┘ │
└─────────────────────────────────────┘Use Static for content that should never change across presentations:
| Use Case | Example |
|---|---|
| Brand elements | Company logo, brand colors |
| Legal text | Copyright notices, disclaimers |
| Decorative elements | Background shapes, divider lines |
| Fixed labels | "Contact Us", "Our Team" |
| Chart templates | Static chart configurations |
In the Editor:
- Select the field
- In the field properties panel, check the Static checkbox
- Set the default value (this will always be displayed)
API Behavior:
// Template has: logo (Static), title (Dynamic)
// API Request
{
"templateKey": "company-slide",
"content": {
"logo": "different-logo.png", // IGNORED - field is static
"title": "Q4 Report" // Applied - field is dynamic
}
}
// Result: logo shows template default, title shows "Q4 Report"Static vs Not Providing a Value:
| Scenario | Behavior |
|---|---|
| Field is Static | Always uses template default, ignores API |
| Field is Dynamic + no API value | Uses template default as fallback |
| Field is Dynamic + API value provided | Uses the API value |
Required Fields
When a field is marked as Required, the API call must include a value for that field. If the value is missing, the API returns an error instead of generating the presentation.
Use Required for essential content that must be provided:
| Use Case | Example |
|---|---|
| Primary content | Main title, key message |
| Critical data | Prices, dates, names |
| User-specific content | Recipient name, account info |
| Mandatory visuals | Product image, profile photo |
In the Editor:
- Select the field
- In the field properties panel, check the Required checkbox
API Behavior:
// Template has: title (Required), subtitle (Optional)
// Request 1: Missing required field
{
"templateKey": "intro-slide",
"content": {
"subtitle": "Welcome"
// "title" is missing!
}
}
// Response: 400 Error - "Missing required field: title"
// Request 2: Required field provided
{
"templateKey": "intro-slide",
"content": {
"title": "Annual Report",
"subtitle": "Welcome"
}
}
// Response: 200 OK - Presentation generatedRequired for Nested Fields:
For fields inside Group or List, Required validation applies to nested values:
// Template: feature_card (Group) with icon (Required) and description
// This will fail - icon is required
{
"feature_card": {
"description": "Fast and reliable"
// "icon" is missing!
}
}
// This will succeed
{
"feature_card": {
"icon": "https://example.com/speed-icon.png",
"description": "Fast and reliable"
}
}Combining Static and Required
Static and Required are mutually exclusive in practice:
| Combination | Valid? | Notes |
|---|---|---|
| Static: OFF, Required: OFF | Yes | Optional dynamic field |
| Static: OFF, Required: ON | Yes | Mandatory dynamic field |
| Static: ON, Required: OFF | Yes | Fixed content field |
| Static: ON, Required: ON | No | Doesn't make sense - static content can't be required from API |
If you mark a field as Static, the Required option is effectively ignored since the API data isn't used anyway.
Error Messages
When Required validation fails, the API returns helpful error messages:
{
"error": {
"code": "VALIDATION_ERROR",
"message": "Missing required fields",
"details": {
"templateKey": "product-card",
"missingFields": ["product_name", "product_price"]
}
}
}Best Practices
For tips on using Static and Required properties effectively, see Field Configuration Tips.
Layout System
Master the Group grid layout system for creating dynamic, responsive templates in Pluslide. Learn columns, rows, sizing modes, and nested layouts.
Text
Display dynamic text in Pluslide templates using Text fields. Configure fonts, sizes, colors, alignment, and rich formatting for titles and content.
