Das CMS-Widgets-Repository: 43 Widgets und wie man sie hinzufügt
totaljs/cms-widgets enthält die offiziellen Widgets des Total.js CMS. In der hier dokumentierten Revision (dc92cb7) hat es 43 Widgets in widgets/, jeweils eine HTML-Datei, alle mit der Gruppe Content, sowie das Skript, das den Katalog erzeugt (db.js). Das Format jeder Datei ist in Widgets beschrieben.
Was sie abdecken
Das Repository legt jedes Widget in eine Gruppe; die folgende Tabelle ordnet sie nur nach dem, was ihre Namen nahelegen, damit Sie sie leichter finden.
| Art | Widgets |
|---|---|
| Text | headline, paragraph, paragraph2, article, alert, list, keyvalue, properties, summary, tags, code, codehighlighter |
| Layout | container, vcontainer, columns100, columnshalfs, columnsthirds, panelsthirds, box, emptyspace, line, gradient |
| Text mit Bild | textimageleft, textimageright, textimagecenter, textimageflex, features2, features3, insight, team, partners, expansionlist |
| Bilder und Medien | picture, images, imagelinks, gallery, video, bufferwall |
| Links und Schaltflächen | linkbutton, buttonsgroup, socialnetworks |
| Integration | importer, uibuilder (siehe UI Builder) |
Neun davon verwenden exports.render, um ihr HTML auf dem Server zu bauen (bufferwall, code, codehighlighter, images, imagelinks, importer, picture, partners und uibuilder); die übrigen sind statische Blöcke, die der Editor konfiguriert und das CMS unverändert ausliefert.
Ein Widget zu Ihrem CMS hinzufügen
Jede Datei ist ein vollständiges Widget. Öffnen Sie im Admin das Plugin Widgets und importieren Sie die Datei, oder senden Sie sie mit der API:
{ "schema": "widgets_save", "data": { "html": "<the content of headline.html>", "singleton": true } }Senden Sie es per POST an /admin/ mit dem Sitzungs-Cookie oder dem Header x-token (die Admin-API).
Der Katalog: db.json
Der Editor kann die Widgets eines Katalogs auflisten. db.js erzeugt ihn: Es liest jede Datei in widgets/, entnimmt name, author und preview ihren exports, baut die Adresse https://cdn.totaljs.com/cms/<file> und schreibt db.json nach Namen sortiert, mit einem Eintrag pro Widget (id, name, url, author, preview). db.js beginnt mit require('total4') und braucht daher Total.js 4 zum Ausführen, wie im Repository der Komponenten von Flow (das Komponenten-Repository).
Ihre eigenen Widgets
Kopieren Sie das ähnlichste Widget, ändern Sie exports.id und exports.name und passen Sie Stil, Design und Einstellungen an. Braucht das Widget eine Bibliothek, tragen Sie sie in exports.dependencies ein, und das CMS fügt sie dem Head der Seiten hinzu, die es verwenden.