# A Total.js CMS beállításai, bejegyzései, fájljai és látogatói, és hol tárolódik minden

> A Total.js CMS beállításai, a bejegyzéskezelő, a feltöltött fájlok kiszolgálása és átméretezése, a látogatói statisztika és az irányítópult, az OpenPlatform-integráció és a webhely adatmodellje.

Framework: cms
Product: CMS (cms@8071e48)
Language: hu
Content-SHA256: 0e77022396e6711d85d1cfc0b2e2b8b4ff00601e330b75ee86932dcebc49e842
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: 
Review: not-recorded

## Beállítások

A *Settings* bővítmény (`settings_read`, `settings_save`; `settings` jogosultság) azt a konfigurációt szerkeszti, amelyet a CMS a webhely metaadataiban tart, és minden indításkor betölt a `CONF` objektumba:

| Kulcs | Jelentés |
|---|---|
| `name` | a webhely neve, minden oldal `<title>` elemében használatos a `/` kivételével, valamint a mentés fájlnevében |
| `url` | a webhely nyilvános címe; a CMS az admin kérések hostjából is frissíti |
| `smtp` | az SMTP-beállítások JSON-szövegként (`server`, `from`, `user`, `password`, `port`); a `settings_test` kipróbálja őket |
| `icon` | a webhely ikonja |
| `$tms`, `secret_tms` | TMS-en keresztül közzéteszi az eseményeket, és ennek a kapcsolatnak a titkát |
| `op_reqtoken`, `op_restoken` | egy [OpenPlatform](/en/openplatform/how-an-app-connects/)-alkalmazás tokenjei; ha mindkettő be van állítva, az admin bejelentkezést az OpenPlatformé váltja fel |
| `totalapi` | egy kulcs a Total.js API szolgáltatásaihoz |

A bővítmények további kulcsokat adhatnak hozzá, amelyek ugyanabban az űrlapban jelennek meg. A `config` fájlban élő értékeket (`$api`, `cdn`, `salt`, és ha hozzáadod, `token`) itt nem lehet szerkeszteni.

## Bejegyzések

A *Posts* bővítmény egy kis cikkkezelő, amely a saját NoSQL fájljában tárol a tárolón belül. Egy bejegyzésnek van `name`, `category`, `picture`, `summary`, `body`, `reference`, `icon`, `color`, `hidden` és `date` mezője; az admin a legújabbakkal kezdve listázza őket (oldalanként 100), és a `posts_categories` a használatban lévő kategóriákat adja vissza. A bejegyzések a saját kódod adatai: a CMS nyilvános megjelenítője (`controllers/default.js`) nem írja ki őket, ezért a saját widgetednek vagy útvonaladnak kell beolvasnia és megjelenítenie őket.

## Fájlok

A *Files* bővítmény a feltöltéseket a fájltárolóban tárolja, és nyilvánosként jelöli meg. A `GET /download/<id>.<ext>` kiszolgál egy nyilvános fájlt (csak a nyilvánosakat; a többi 404-gyel válaszol). Képeknél az `?s=<percent>` kisebb JPEG-et ad vissza (az értéknek 10 és 80 között kell lennie, 80-as minőséggel), a `?download=1` pedig letöltést kényszerít ki. A feltöltési útvonalak és korlátaik itt vannak: [az admin API](/en/cms/the-admin-api/).

## Látogatók és az irányítópult

A `modules/visitors.js` modul a nyilvános oldalak látogatásait számolja a `/visitors.js` szkripttel, amelyet minden oldal tartalmaz: egyedi látogatók, oldalmegtekintések, böngészők, hivatkozók, keresési, közösségi és közvetlen forgalom, mobil és asztali, a nap órái és az online lévők (egy látogató tevékenység nélkül 20 percig számít online-nak). A *Dashboard* bővítmény ezeket a számokat a `dashboard_stats`, `dashboard_online`, `dashboard_browsers`, `dashboard_referers` és `dashboard_pages` hívásokból rajzolja.

## OpenPlatform

Ha az `op_reqtoken` és az `op_restoken` be van állítva, a CMS az [OpenPlatform](/en/openplatform/what-is-openplatform/) segítségével jelentkeztet be (`modules/openplatform.js` modul), és minden bővítmény hozzáadja a saját jogosultságát ahhoz a listához, amelyet az OpenPlatform a csoportok kiosztásakor mutat: `pages`, `layouts`, `widgets`, `navigation`, `posts`, `files`, `redirects`, `variables`, `settings` és `admin`. Emlékezz az OpenPlatform szabályára: egy alkalmazás csak azoknak a csoportoknak látható, amelyeknek kiosztod.

## Az adatmodell

A `MAIN.db` tartalmazza a webhely metaadatait (`pages`, `layouts`, `widgets`, `redirects`, `vars`, `nav`, `config` és `storage`), és egyetlen `meta` nevű JSON-dokumentumként mentődik a fájltárolóban. Minden oldal és layout HTML-je ennek a tárolónak egy fájlja, amelynek neve az oldal vagy layout azonosítója. A `FUNC.load()` indításkor beolvassa a metaadatokat, lefordítja a widgeteket (lefuttatva az `install` függvényüket), és újraépíti a gyorsítótárakat; a `FUNC.save()` visszaírja őket. Ezért a tároló mentése a webhely mentése.
