Components

Components sind die Bausteine deiner Website in Neleto. Diese bestimmen, wie deine Elemente, die deinen Inhalt enthalten, aussehen und funktionieren.

Erstellen eines Components

Um zu beginnen, wähle den Punkt Components unter Entwickler-Werkzeuge in der Seitenleiste auf der linken Seite:

Um einen neuen Component zu erstellen, klicke auf die Schaltfläche „+ Neu“ in der oberen rechten Ecke Ecke. Alternativ kannst du eine vorgefertigte Component-Voreinstellung auswählen, die bereit ist, verwendet zu werden, indem du auf „+ Neu aus Vorlage“ klickst.

Du solltest etwas wie das hier sehen:

Über die Schaltfläche kannst du einen vorhandenen Component bearbeiten.

Optionen

Hier sind die verschiedenen Optionen, die du bei einen Component einstellen kannst:

Icon

Icons erleichtern das Finden und Erkennen von Elementen beim Aufbau Ihrer Seite. Um ein Icon für deinen Component zuzuweisen, klicke auf das Feld „Icon auswählen“.

Kategorie

Du kannst deine Components in verschiedenen Kategorien gruppieren, um sie besser zu organisieren. Dies ist besonders nützlich, wenn du eine große Anzahl von Components hast.

Template

Hier definierst du die Struktur deines Components. Du kannst Handlebars verwenden um auf Daten zuzugreifen, die zwischen den Elementen mit diesem Component unterschiedlich sind. Die verfügbaren Eigenschaften sind im Abschnitt properties unter Form-structure dokumentiert. Hier ist ein einfaches Beispiel, das zeigt, wie du eine definierte Eigenschaft mit id: title in deinem Component einfügst.

<p>{{ properties.title }}</p>

Wenn du beim Aufbau deiner Seiten Element verschachteln willst, musst du dem Component festlegen, dass dieser Kinder haben kann. Klicke dazu die Checkbox Kann Kinder haben und füge dies in das Template ein, wo du die Kinder anzeigen willst:

{{ render_elements(children) }}

Script

Wenn dein Component zusätzliche Funktionen haben soll, kannst du ein Script hinzufügen. Dabei handelt es sich um normalen Javascript-Code, der Client-seitig ausgeführt wird. Wenn du aus dem Script-block eine Funktion init exportierst, wird diese Funktion für jedes Element das diesen Component verwendet aufgerufen. Du kannst die Parameter, die diese Funktion bekommt, verwenden um auf die Daten jedes Elements zuzugreifen.

export function init({ element, data, id }) {
    element.addEventListener('click', () => {
        console.log(`Element with id ${id} was clicked`);
    });
}

Style

Es gibt mehrere Möglichkeiten, deine Components zu stylen. Du kannst normales CSS im Style-feld des Components definieren, oder du kannst TailwindCSS direkt im Template verwenden. Components, die TailwindCSS verwenden, werden nur auf Seiten, wo tailwindcss aktiviert ist, korrekt gerendert.

.link {
    color: black;
    text-decoration: none;
}

Formular-struktur

Hier definierst du die Struktur der Daten, die du bei der Verwendung dieses Components bearbeiten kannst. Diese Daten kannst du direkt im Pagebuilder bearbeiten. Hier ist ein Beispiel mit zwei Textfeldern:

Im Developer-Modus siehst du hier die rohe Struktur in JSON und kannst diese direkt bearbeiten:

{
    "label": {
        "de": "",
        "en": ""
    },
    "properties": [
        {
            "id": "link",
            "type": "text",
            "label": {
                "en": "Link",
                "de": "Verknüpfung"
            }
        },
        {
            "id": "name_of_page",
            "type": "text",
            "label": {
                "en": "Name of page",
                "de": "Name der Seite"
            }
        }
    ]
}
Siehe alle verfügbaren Eingabe-typen hier.

So sieht das ganze dann im Pagebuilder aus:

Label

Das Label wird über dem Formular im Pagebuilder angezeigt. Deshalb solltest du dieses Label in Deutsch und Englisch definieren, weil das Neleto Admin-UI zwischen diesen Sprachen wechseln kann.

Im Developer-Modus ist das Label Teil der Formular-Struktur, hier ist ein Beispiel:

{
    "en": "Link",
    "de": "Verknüpfung"
}