Il repository dei widget del CMS: 43 widget e come aggiungerli
totaljs/cms-widgets contiene i widget ufficiali del CMS di Total.js. Nella revisione documentata qui (dc92cb7) ha 43 widget in widgets/, un file HTML ciascuno, tutti con il gruppo Content, più lo script che genera il catalogo (db.js). Il formato di ogni file è descritto in widget.
Cosa coprono
Il repository mette tutti i widget in un unico gruppo; la tabella qui sotto li ordina solo in base a ciò che suggeriscono i loro nomi, per aiutarti a trovarli.
| Tipo | Widget |
|---|---|
| Testo | headline, paragraph, paragraph2, article, alert, list, keyvalue, properties, summary, tags, code, codehighlighter |
| Struttura | container, vcontainer, columns100, columnshalfs, columnsthirds, panelsthirds, box, emptyspace, line, gradient |
| Testo con immagine | textimageleft, textimageright, textimagecenter, textimageflex, features2, features3, insight, team, partners, expansionlist |
| Immagini e media | picture, images, imagelinks, gallery, video, bufferwall |
| Link e pulsanti | linkbutton, buttonsgroup, socialnetworks |
| Integrazione | importer, uibuilder (vedi UI Builder) |
Nove di essi usano exports.render per costruire il proprio HTML sul server (bufferwall, code, codehighlighter, images, imagelinks, importer, picture, partners e uibuilder); gli altri sono blocchi statici che l’editor configura e il CMS serve così come sono.
Aggiungere un widget al tuo CMS
Ogni file è un widget completo. Nell’admin, apri il plugin Widgets e importa il file, oppure invialo con l’API:
{ "schema": "widgets_save", "data": { "html": "<the content of headline.html>", "singleton": true } }Invialo con POST a /admin/ con il cookie di sessione o l’intestazione x-token (l’API dell’admin).
Il catalogo: db.json
L’editor può elencare i widget di un catalogo. db.js lo crea: legge ogni file di widgets/, prende name, author e preview dai suoi exports, costruisce l’indirizzo https://cdn.totaljs.com/cms/<file> e scrive db.json ordinato per nome, con una voce per widget (id, name, url, author, preview). db.js inizia con require('total4'), quindi richiede Total.js 4 per essere eseguito, come nel repository dei componenti di Flow (il repository dei componenti).
I tuoi widget
Copia il widget più simile, cambia exports.id e exports.name e adatta stile, design e impostazioni. Se il widget ha bisogno di una libreria, indicala in exports.dependencies e il CMS la aggiunge all’head delle pagine che lo usano.