Workflow Basics

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

Wir aktualisieren diese Seiten laufend. Ist etwas nicht mehr aktuell? Sagen Sie es uns

AI AssistantPowered by Ubex
Beta
Ask me anything about Ubex workflows, nodes, or the API.