AI Tools

SHOP

Tools

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)

CONTENT

Tools

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")


Component Catalog

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)

Layout File Format

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:


Component Schemas

banner

{
  "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.


Common Ionicon Paths

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 clients

AUTOMATION

Tools

get_info — returns company and platform information No parameters required.

Returns: name, company, url, logo, icon, timezone, domain, country, county, city, address, phone, email