search_products — search and filter products q, p, c, s, b, cc, stock, sorting, min, max, new, promo, preview
get_product — get product by ID product_id (required)
get_components — returns all available page components with JSON schemas and layout rules
No parameters required. Call this first before creating or editing any page content.
get_page_layout — returns full layout + component content for a page
slug (required) — site page slug (e.g. "home", "contact") or category post ("stiri/my-post-slug")
| Name | Iterable | Use for |
|---|---|---|
banner |
no | Page hero with background image, headline, subtitle |
cta |
no | Prose section, introductions, HTML text blocks |
cards |
yes | Service grids, feature highlights, team, partners |
steps |
yes | Numbered process flows, methodology |
statistics |
yes | Circular progress KPIs (0–100 percentage) |
scroller |
yes | Infinite horizontal ticker / keyword scroller |
counter |
yes | Animated number counters (experience, clients, projects) |
dropdown_content |
yes | FAQ accordion, collapsible content |
editor_content |
no | Free-form HTML blocks, article bodies |
stylized_list |
yes | Icon + title + description feature list |
items |
yes | Grouped icon items with title + subtitle |
contact_data |
yes | Contact info cards (phone, email, address) |
countdown |
no | Countdown timer to a date |
notification |
no | Toast alert shown on page load |
google_map |
no | Google Maps iframe embed |
post |
no | Blog card (auto-rendered by CMS, not for manual layout) |
data/content/site/{slug}/layout.json — array of layout items:
[
{ "name": "banner", "type": "component", "module": "content", "editable": true, "id": "aa01bb02cc03dd04" },
{ "name": "cards", "type": "component", "module": "content", "editable": true, "id": "aa01bb02cc03dd05" },
{ "name": "cta", "type": "component", "module": "content", "editable": true, "id": "aa01bb02cc03dd06" }
]
data/content/components/{id}_ro.json — component content file.
Rules:
type must always be "component" — never "item" or "section"aa01bb02cc03dd04)content is a JSON array of item objectscontent is a string (HTML allowed)image field in cards and contact_data is subtitle text, not a file pathbanner{
"title": "Page headline (HTML allowed). Falls back to page title.",
"content": "Subtitle HTML shown below headline.",
"class": "CSS class — use 'banner-home' for full-height home variant.",
"image": "Background image path (e.g. data/media/banner/default.jpg).",
"color": "Overlay hex color. Default: primary_accent.",
"opacity": "Overlay opacity 0–1. Default: 0.4–0.6.",
"autocontrast": "Auto text color from bg. Default: true."
}
cta{
"title": "Section heading (h2). Leave empty to hide.",
"content": "HTML body — use <p>, <ul>, <strong>, <h3> etc.",
"class": "CSS class — use 'cta-dark' for navy background.",
"image": "Background image path (optional)."
}
cards (iterable){
"title": "Section heading.",
"image": "Section subtitle TEXT (not a file path).",
"class": "",
"content": [
{
"title": "Card heading.",
"content": "Card body text (HTML allowed).",
"image": "Ionicon SVG path e.g. plugins/ionicons/svg/shield-checkmark-outline.svg",
"class": ""
}
]
}
steps (iterable){
"title": "Section heading.",
"class": "",
"content": [
{
"title": "Step title.",
"content": "Step description (HTML allowed).",
"image": "Ionicon SVG path.",
"class": ""
}
]
}
statistics (iterable){
"class": "",
"content": [
{
"title": "Stat label.",
"content": 95,
"image": "Ionicon SVG path shown inside circle.",
"class": ""
}
]
}
content is a number 0–100 — controls the animated circle fill percentage.
scroller (iterable){
"title": 20,
"class": "",
"content": [
{ "title": "Scrolling text item" }
]
}
title is scroll speed in seconds (not a string).
counter (iterable){
"class": "",
"image": "",
"content": [
{
"title": "Counter label.",
"content": 500,
"image": "Ionicon SVG path.",
"class": ""
}
]
}
content is the target number the counter animates to.
dropdown_content (iterable) — FAQ/Accordion{
"class": "",
"content": [
{
"title": "Accordion header.",
"content": "Expanded body HTML."
}
]
}
editor_content{
"title": "Optional heading (h2). Leave empty to hide.",
"content": "Raw HTML content.",
"class": ""
}
stylized_list (iterable){
"class": "",
"content": [
{
"title": "Item title.",
"content": "Item description.",
"image": "Ionicon SVG path."
}
]
}
items (iterable){
"title": "Group heading.",
"image": "Heading icon — ionicon name (e.g. 'business-outline') or SVG path.",
"class": "",
"content": [
{
"title": "Item title.",
"content": "Item subtitle/detail.",
"image": "Item icon.",
"class": ""
}
]
}
contact_data (iterable){
"title": "Section title.",
"image": "Section subtitle TEXT (not a file path).",
"class": "",
"content": [
{
"title": "Label (e.g. 'Telefon').",
"content": "Value OR: 'app_phone', 'app_mail', 'app_address', 'social'",
"image": "Ionicon SVG path.",
"class": ""
}
]
}
Special content values pull from platform constants: app_phone, app_mail, app_address, social.
countdown{
"class": "",
"date": "YYYY-MM-DD target date.",
"seconds": 0
}
notification{
"title": "Notification title.",
"content": "Notification message.",
"class": "",
"image": "Position class: 'toast-top-right', 'toast-bottom-center', etc.",
"action": "Type: 'info', 'success', 'warning', 'error'."
}
google_map{
"content": "<iframe src=\"https://www.google.com/maps/embed?...\" ...></iframe>",
"class": ""
}
Paste the full iframe HTML from Google Maps → Share → Embed a map.
plugins/ionicons/svg/shield-checkmark-outline.svg — GDPR / security
plugins/ionicons/svg/school-outline.svg — training / courses
plugins/ionicons/svg/analytics-outline.svg — analytics / CI
plugins/ionicons/svg/document-text-outline.svg — documents
plugins/ionicons/svg/people-outline.svg — team / clients
plugins/ionicons/svg/business-outline.svg — company / partners
plugins/ionicons/svg/call-outline.svg — phone
plugins/ionicons/svg/mail-outline.svg — email
plugins/ionicons/svg/location-outline.svg — address
plugins/ionicons/svg/search-outline.svg — search / audit
plugins/ionicons/svg/construct-outline.svg — implementation
plugins/ionicons/svg/eye-outline.svg — monitoring
plugins/ionicons/svg/ribbon-outline.svg — certification
plugins/ionicons/svg/time-outline.svg — experience / years
plugins/ionicons/svg/clipboard-outline.svg — audit / checklist
plugins/ionicons/svg/checkmark-circle-outline.svg — completed / success
plugins/ionicons/svg/happy-outline.svg — satisfied clientsget_info — returns company and platform information No parameters required.
Returns: name, company, url, logo, icon, timezone, domain, country, county, city, address, phone, email