A CMS widgettárolója: 43 widget és hogyan add hozzá őket
A totaljs/cms-widgets a Total.js CMS hivatalos widgeteit tartalmazza. Az itt dokumentált revízióban (dc92cb7) 43 widget van a widgets/ mappában, egyenként egy HTML fájl, mind a Content csoportban, valamint a katalógust előállító szkript (db.js). Az egyes fájlok formátumát a widgetek írja le.
Mit fednek le
A tároló az összes widgetet egy csoportba teszi; az alábbi táblázat csak aszerint rendezi őket, amit a nevük sugall, hogy könnyebben megtaláld őket.
| Fajta | Widgetek |
|---|---|
| Szöveg | headline, paragraph, paragraph2, article, alert, list, keyvalue, properties, summary, tags, code, codehighlighter |
| Elrendezés | container, vcontainer, columns100, columnshalfs, columnsthirds, panelsthirds, box, emptyspace, line, gradient |
| Szöveg képpel | textimageleft, textimageright, textimagecenter, textimageflex, features2, features3, insight, team, partners, expansionlist |
| Képek és média | picture, images, imagelinks, gallery, video, bufferwall |
| Hivatkozások és gombok | linkbutton, buttonsgroup, socialnetworks |
| Integráció | importer, uibuilder (lásd UI Builder) |
Kilenc közülük az exports.render segítségével építi fel a HTML-jét a szerveren (bufferwall, code, codehighlighter, images, imagelinks, importer, picture, partners és uibuilder); a többi statikus blokk, amelyet a szerkesztő beállít, a CMS pedig változatlanul kiszolgál.
Widget hozzáadása a CMS-edhez
Minden fájl egy teljes widget. Az adminban nyisd meg a Widgets bővítményt, és importáld a fájlt, vagy küldd el az API-val:
{ "schema": "widgets_save", "data": { "html": "<the content of headline.html>", "singleton": true } }Küldd POST kéréssel a /admin/ címre a munkamenet-cookie-val vagy az x-token fejléccel (az admin API).
A katalógus: db.json
A szerkesztő egy katalógus widgetjeit tudja listázni. A db.js hozza létre: beolvassa a widgets/ minden fájlját, az exports részből kiveszi a name, author és preview értéket, felépíti a https://cdn.totaljs.com/cms/<file> címet, és névsorba rendezve írja a db.json fájlt, widgetenként egy bejegyzéssel (id, name, url, author, preview). A db.js a require('total4') sorral kezdődik, ezért a futtatásához Total.js 4 kell, mint a Flow komponenstárolójában (a komponenstároló).
A saját widgetjeid
Másold le a legközelebbi widgetet, változtasd meg az exports.id és exports.name értéket, és igazítsd a stílust, a tervet és a beállításokat. Ha a widgetnek könyvtár kell, sorold fel az exports.dependencies mezőben, és a CMS hozzáadja az azt használó oldalak fejlécéhez.