Documentation is being updated. Some sections may not reflect the latest features.

Template Syntax

Ubex verwendet Pongo2, eine leistungsstarke Template Engine im Django/Jinja2-Stil. Damit haben Sie die volle Kontrolle darüber, wie Daten durch Ihre Workflows fließen.

Einfache Variablen

Verwenden Sie doppelte geschweifte Klammern, um Variablen auszugeben:

{{ variable_name }}
{{ user.name }}
{{ items[0].title }}

Filter

Transformieren Sie Werte mithilfe von Filtern und dem Pipe-Operator |:

{{ name | upper }}
{{ text | lower }}
{{ price | floatformat:2 }}
{{ items | length }}
{{ description | truncatechars:100 }}
{{ html_content | safe }}
{{ list | join:", " }}
{{ date | date:"2006-01-02" }}
{{ value | default:"N/A" }}

Häufig verwendete Filter

Filter Beschreibung Beispiel
upper Text in Großbuchstaben {{ name | upper }}
lower Text in Kleinbuchstaben {{ name | lower }}
title Groß-/Kleinschreibung wie bei Titeln {{ name | title }}
length Elemente/Zeichen zählen {{ items | length }}
default Ersatzwert {{ value | default:"none" }}
join Array-Elemente verbinden {{ tags | join:", " }}
first Erstes Element {{ items | first }}
last Letztes Element {{ items | last }}
truncatechars Zeichenanzahl begrenzen {{ text | truncatechars:50 }}
safe HTML rendern {{ html | safe }}
floatformat Dezimalstellen formatieren {{ price | floatformat:2 }}

Bedingungen

Verwenden Sie {% if %} für bedingte Logik:

{% if user.is_premium %}
  Welcome back, premium member!
{% elif user.is_trial %}
  Your trial ends in {{ user.trial_days }} days.
{% else %}
  Sign up for premium features.
{% endif %}

Vergleichsoperatoren

{% if count > 10 %}...{% endif %}
{% if status == "active" %}...{% endif %}
{% if name != "" %}...{% endif %}
{% if score >= 80 %}...{% endif %}
{% if items and items | length > 0 %}...{% endif %}
{% if not is_disabled %}...{% endif %}

Logische Operatoren

{% if is_admin and is_active %}...{% endif %}
{% if is_free or is_trial %}...{% endif %}
{% if not is_blocked %}...{% endif %}

Schleifen

Verwenden Sie {% for %}, um über Arrays zu iterieren:

{% for item in items %}
  - {{ item.name }}: {{ item.value }}
{% endfor %}

Schleifenvariablen

Innerhalb einer Schleife stehen Ihnen spezielle Variablen zur Verfügung:

{% for user in users %}
  {{ forloop.Counter }}: {{ user.name }}
  {% if forloop.First %}(first item){% endif %}
  {% if forloop.Last %}(last item){% endif %}
{% endfor %}
Variable Beschreibung
forloop.Counter Aktuelle Iteration (1-indiziert)
forloop.Counter0 Aktuelle Iteration (0-indiziert)
forloop.First True bei der ersten Iteration
forloop.Last True bei der letzten Iteration
forloop.Revcounter Verbleibende Iterationen

Leere Schleifen

Leere Arrays elegant behandeln:

{% for item in items %}
  {{ item.name }}
{% empty %}
  No items found.
{% endfor %}

Praktische Beispiele

Einen Prompt mit Kontext erstellen

You are analyzing customer feedback.

{% for review in reviews %}
Review #{{ forloop.Counter }}:
Rating: {{ review.rating }}/5
Comment: {{ review.text | truncatechars:200 }}

{% endfor %}

Summarize the overall sentiment and key themes.

Bedingter API-Request-Body

{
  "user": "{{ user.email }}",
  "plan": "{{ plan | default:"free" }}",
  {% if include_metadata %}
  "metadata": {
    "source": "{{ source }}",
    "timestamp": "{{ timestamp }}"
  }
  {% endif %}
}

Dynamischer E-Mail-Inhalt

Hi {{ user.name | title }},

{% if order.status == "shipped" %}
Great news! Your order #{{ order.id }} has shipped.
Tracking: {{ order.tracking_number }}
{% elif order.status == "processing" %}
Your order #{{ order.id }} is being prepared.
{% else %}
Your order #{{ order.id }} is confirmed.
{% endif %}

Items ordered:
{% for item in order.items %}
- {{ item.quantity }}x {{ item.name }} - ${{ item.price | floatformat:2 }}
{% endfor %}

Total: ${{ order.total | floatformat:2 }}

SQL-Abfragen generieren

SELECT * FROM users
WHERE status = 'active'
{% if department %}
  AND department = '{{ department }}'
{% endif %}
{% if min_score %}
  AND score >= {{ min_score }}
{% endif %}
ORDER BY created_at DESC
LIMIT {{ limit | default:100 }}

Tipps

  • Verwenden Sie {{ variable | default:"fallback" }}, um fehlende Werte abzufangen
  • Nutzen Sie {% if variable %}, um zu prüfen, ob eine Variable existiert und nicht leer ist
  • Filter lassen sich verketten: {{ name | lower | truncatechars:20 }}
  • Leerzeichen innerhalb von {{ }} und {% %} werden ignoriert
AI AssistantPowered by Ubex
Beta
Ask me anything about Ubex workflows, nodes, or the API.
~/

Hallo 👋

Wie können wir Ihnen heute helfen?