# Repozitár widgetov CMS: 43 widgetov a ako ich pridať

> Prehliadka totaljs/cms-widgets, oficiálnych widgetov CMS Total.js: čo pokrývajú, ktoré sa vykresľujú na serveri, ako sa generuje db.json a ako nainštalovať widget zo súboru.

Framework: cms
Product: CMS (cms@8071e48)
Language: sk
Content-SHA256: 6f9c3a5c156f04be6ecf5275eb641f5f67099c5ad3e9b647ffe342766daad815
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

[`totaljs/cms-widgets`](https://github.com/totaljs/cms-widgets) obsahuje oficiálne widgety CMS Total.js. V tu dokumentovanej revízii (`dc92cb7`) má **43 widgetov** v `widgets/`, každý je jeden súbor HTML, všetky v skupine *Content*, plus skript, ktorý generuje katalóg (`db.js`). Formát každého súboru je opísaný v [widgety](/en/cms/widgets/).

## Čo pokrývajú

Repozitár dáva všetky widgety do jednej skupiny; tabuľka nižšie ich len zoraďuje podľa toho, čo naznačujú ich názvy, aby ste ich ľahšie našli.

| Druh | Widgety |
|---|---|
| Text | `headline`, `paragraph`, `paragraph2`, `article`, `alert`, `list`, `keyvalue`, `properties`, `summary`, `tags`, `code`, `codehighlighter` |
| Rozloženie | `container`, `vcontainer`, `columns100`, `columnshalfs`, `columnsthirds`, `panelsthirds`, `box`, `emptyspace`, `line`, `gradient` |
| Text s obrázkom | `textimageleft`, `textimageright`, `textimagecenter`, `textimageflex`, `features2`, `features3`, `insight`, `team`, `partners`, `expansionlist` |
| Obrázky a médiá | `picture`, `images`, `imagelinks`, `gallery`, `video`, `bufferwall` |
| Odkazy a tlačidlá | `linkbutton`, `buttonsgroup`, `socialnetworks` |
| Integrácia | `importer`, `uibuilder` (pozri [UI Builder](/en/uibuilder/what-is-uibuilder/)) |

Deväť z nich používa `exports.render` na zostavenie HTML na serveri (`bufferwall`, `code`, `codehighlighter`, `images`, `imagelinks`, `importer`, `picture`, `partners` a `uibuilder`); ostatné sú statické bloky, ktoré editor nastavuje a CMS ich obsluhuje tak, ako sú.

## Pridanie widgetu do vášho CMS

Každý súbor je kompletný widget. V administrácii otvorte plugin *Widgets* a súbor importujte, alebo ho pošlite cez API:

```json
{ "schema": "widgets_save", "data": { "html": "<the content of headline.html>", "singleton": true } }
```

Pošlite ho cez `POST` na `/admin/` s cookie relácie alebo hlavičkou `x-token` ([API administrácie](/en/cms/the-admin-api/)).

## Katalóg: `db.json`

Editor môže vypísať widgety z katalógu. `db.js` ho vytvorí: prečíta každý súbor v `widgets/`, z jeho `exports` vezme `name`, `author` a `preview`, zostaví adresu `https://cdn.totaljs.com/cms/<file>` a zapíše `db.json` zoradený podľa názvu s jedným záznamom na widget (`id`, `name`, `url`, `author`, `preview`). `db.js` začína `require('total4')`, takže na spustenie potrebuje Total.js 4, ako v repozitári komponentov Flow ([repozitár komponentov](/en/flow/the-components-repository/)).

## Vaše vlastné widgety

Skopírujte najbližší widget, zmeňte `exports.id` a `exports.name` a upravte štýl, dizajn a nastavenia. Ak widget potrebuje knižnicu, uveďte ju v `exports.dependencies` a CMS ju pridá do hlavičky stránok, ktoré ho používajú.
