# Egyéni tartalomtípusok (CCT) áttekintése

> Mi az egyéni tartalomtípus, miben különbözik az egyéni bejegyzéstípustól, hogyan hozod létre, és milyen beállításai vannak.

Az egyéni tartalomtípus (angolul Custom Content Type, röviden CCT) a JetEngine egyik modulja. Segítségével nagy mennyiségű adatot tárolhatsz úgy, hogy közben a weboldal gyors marad.

## Miért jó a CCT?

Egyéni bejegyzéstípus létrehozásakor az elemek „bejegyzésként” kerülnek az adatbázisba, ugyanabba az SQL-táblába, ahol az összes többi bejegyzés van. Kevés tartalomnál ez észrevehetetlen, de minél több bejegyzéstípust és elemet hozol létre, annál nagyobb lesz a tábla, és annál lassabb az oldal.

CCT létrehozásakor viszont egy **új SQL-tábla** készül az adatbázisban. A keresés ebben a külön táblában fut, a bejegyzések táblája pedig nem telik meg. Ez különösen hasznos olyan adatnál, amelyet a látogató sosem lát, például megrendeléseknél vagy jelentkezéseknél: ezeket csak belső használatra tárolod, és nem lassítják az oldalt.

Alapértelmezés szerint a CCT-elemeknek nincs saját oldaluk, csak a **Listing Grid** widgetben jeleníthetők meg. Ha mégis kell egyedi oldal (például minden könyvnek), a CCT összekapcsolható egy bejegyzéstípussal. Ilyenkor minden CCT-elemhez létrejön egy bejegyzés, de az adatok továbbra is a CCT saját táblájában maradnak, ezért az oldal sebessége nem romlik.

Röviden: akkor használj CCT-t, ha sok elemet fogsz tárolni.

## A CCT modul bekapcsolása

1. Nyisd meg a **JetEngine → JetEngine** oldalt, és a **Modulok** fülön kapcsold be az **Egyedi tartalomtípusok** kapcsolót.
2. Kattints a **Mentés** gombra.
3. Az oldal újratöltődik, és megjelenik a **JetEngine → Egyedi tartalomtípusok** menüpont.

![A Modulok fül bekapcsolt Egyedi tartalomtípusok kapcsolóval](./kepek/cct-modulok.webp)

*A Modulok fül bekapcsolt Egyedi tartalomtípusok kapcsolóval* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine)

A kapcsoló az alapértelmezett modulok között van. A bal oldali menüben a CCT-k önálló szakaszt kapnak, ahol a példában a **Webinárok** menüpont látszik.

## Új CCT létrehozása

1. Menj a **JetEngine → Egyedi tartalomtípusok** oldalra.
2. Kattints az **Új hozzáadása** gombra.
3. Töltsd ki az **Általános beállítások**, a **Mezők** és az **Admin oszlopok** részt.
4. Kattints a **Tartalomtípus hozzáadása** gombra.

![Az egyéni tartalomtípusok listája](./kepek/cct-lista.webp)

*Az egyéni tartalomtípusok listája* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-cct)

A lista oszlopai: a tartalomtípus neve, a slug, az adatbázistábla neve, és a műveletek (**Szerkesztés**, **Másolás**, **Törlés**).

![Az új tartalomtípus űrlapja üresen](./kepek/cct-uj-altalanos.webp)

*Az új tartalomtípus űrlapja üresen* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-cct&cct_action=add)

Az űrlap három részből áll, jobb oldalt pedig a **Műveletek** panel található a mentés gombbal. Az **Űrlapok** panel arra emlékeztet, hogy a CCT mentése után automatikusan létrehozhatsz hozzá frontend űrlapot (lásd: [CCT-elemek beszúrása és szerkesztése űrlappal](https://hub.hellowp.io/hu/plugins/jet-engine/cct-urlap-beszuras-szerkesztes/)).

### Általános beállítások

| Beállítás | Mit csinál |
|---|---|
| **Név** | A tartalomtípus neve, ez jelenik meg az admin menüben. |
| **Slug** | A név alapján magától kitöltődik. Egyfajta azonosító, amelyet a JetEngine dinamikus funkciói használnak. Csak latin betű lehet, szóköz helyett kötőjel vagy aláhúzás kell. |
| **Adatbázistábla neve** | A létrehozandó SQL-tábla neve: a `wp_jet_cct_` előtag után a slug. Csak a slug módosításával változtatható. |
| **Van külön oldala** | Ha bekapcsolod, kiválaszthatsz egy bejegyzéstípust, amely a CCT-elemek egyedi oldalaként működik. |
| **Kapcsolódó bejegyzéstípus** | Az a bejegyzéstípus, amelyhez a CCT kapcsolódik. A **Van külön oldala** bekapcsolása után jelenik meg. |
| **Címmező** | A CCT azon mezője, amelynek értéke a kapcsolódó bejegyzés címébe kerül. Csak szöveges vagy számmező való ide. |
| **Tartalommező** | A CCT azon mezője, amelynek értéke a bejegyzés tartalmába kerül. Csak szöveg vagy szám jelenik meg helyesen. A bejegyzés tartalmának utólagos szerkesztése nem módosítja a CCT-elem adatát. |
| **Menüikon** | Az admin menüben a CCT neve mellett látható ikon. |
| **Menü pozíciója** | Az admin menü azon pontja, amely után a CCT megjelenik. Alapértelmezés szerint a Crocoblock szakasz, de bármelyik másik is választható. |
| **A tartalomtípus kezelőfelületének hozzáférési jogosultsága** | A felhasználói jogosultság (capability), amellyel valaki beléphet a CCT admin felületére. Alapértelmezés szerint a `manage_options`, vagyis csak az adminisztrátorok. |
| **Tétel/tételek lekérdezésére szolgáló REST API-végpont regisztrálása** | Végpontot hoz létre az elemek lekérdezéséhez. |
| **Elem létrehozására szolgáló REST API-végpont regisztrálása** | Végpontot hoz létre új elemek beszúrásához. |
| **Elem frissítésére szolgáló REST API-végpont regisztrálása** | Végpontot hoz létre elemek frissítéséhez. |
| **Elem törlésére szolgáló REST API-végpont regisztrálása** | Végpontot hoz létre elemek törléséhez. |
| **Mezőnevek elrejtése** | Ha ki van kapcsolva, az elem szerkesztőoldalán a mezők neve (azonosítója) is látszik a címke alatt. Ha bekapcsolod, csak a címkék jelennek meg. |

A REST API kapcsolók bekapcsolása után megjelenik a végpont URL-je és egy **Hozzáférési jogosultság** mező, ahol megadhatod, melyik jogosultságú felhasználó érheti el az adatokat a végponton. A részletes használatot a [CCT-elemek távoli kezelése REST API-val](https://hub.hellowp.io/hu/plugins/jet-engine/cct-rest-api/) fejezet írja le.

### Mezők

A **Mezők** részben vehetsz fel egyéni mezőket, amelyek a CCT adatait tárolják. A mezők a **Új mező** gombbal adhatók hozzá, húzással átrendezhetők, másolhatók és törölhetők.

![A webinárok CCT szerkesztője felvett mezőkkel](./kepek/cct-szerkeszto.webp)

*A webinárok CCT szerkesztője felvett mezőkkel* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-cct&cct_action=edit&id=4)

Egy mező beállításai:

| Beállítás | Mit csinál |
|---|---|
| Címke | A mező felirata az elem hozzáadása és szerkesztése oldalon. |
| Név/azonosító | A mező adatbázisbeli neve. Csak latin kisbetű és szám lehet, szóköz helyett kötőjel vagy aláhúzás. |
| Objektumtípus | Egyéni mező vagy elrendezési elem. Ha a mezőket fülekbe vagy harmonikákba akarod csoportosítani, ezt választhatod. |
| Mezőtípus | A mező típusa. A típusok leírását a [Meta mezők típusai](https://hub.hellowp.io/hu/plugins/jet-engine/meta-mezok-mezotipusok/) fejezetben találod. |
| Leírás | Kiegészítő információ a mező alatt a szerkesztőoldalon. |
| Mezőszélesség | A mező szélessége a szerkesztőoldalon. |
| Karakterkorlát | A beírható karakterek számát korlátozza. |
| Alapértelmezett érték | A mező előre kitöltött értéke. |
| Kötelező | Kötelezővé teszi a mező kitöltését. |
| Gyorsszerkesztés támogatása | Ha bekapcsolod, a mező megjelenik a gyorsszerkesztésben is. |
| Feltételes logika | Csak akkor mutatja a mezőt, ha egy másik mező értéke megfelel a feltételnek. |

A beállítások köre a kiválasztott mezőtípustól függően változik.

### Admin oszlopok

Az admin oszlopok a CCT admin oldalán, az elemek listájában jelennek meg, és a mezők adatait mutatják. Minden mezőhöz (és a szolgáltatási mezőkhöz: **Elem ID**, **Tétel szerzője**, **Létrehozás dátuma**, **Módosítás dátuma**, **Állapot**) külön beállítás tartozik:

| Beállítás | Mit csinál |
|---|---|
| **Megjelenítés az adminfelület oszlopaiban** | Ha bekapcsolod, a mező oszlopként megjelenik a listában. |
| **Előtag** | Szöveg az oszlopcella értéke elé. |
| **Utótag** | Szöveg az oszlopcella értéke után. |
| **Rendezhető** | Az oszlop szerint rendezhető lesz a lista. |
| **Numerikus mező** | Szám tartalmú oszlopnál kapcsold be, így a rendezés számként működik, nem ábécé szerint. |

## CCT-elemek létrehozása

Miután mentetted a CCT-t, a bal oldali menüben megjelenik a saját menüpontja (például **Webinárok**).

1. Kattints az **Új hozzáadása** gombra.
2. Töltsd ki a mezőket.
3. Kattints a **Hozzáadás** gombra.

![Az elemek listája az admin oszlopokkal](./kepek/cct-elemek-lista.webp)

*Az elemek listája az admin oszlopokkal* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-cct-webinarok)

A lista a bekapcsolt admin oszlopokat mutatja. Soronként a **Szerkesztés**, **Gyors szerkesztés**, **Klónozás** és **Törlés** műveletek érhetők el, a lista tetején pedig az **Új hozzáadása** gomb és az elemek exportja CSV-be. Tömeges műveletek és keresés is van.

![Új elem hozzáadása](./kepek/cct-elem-uj.webp)

*Új elem hozzáadása* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-cct-webinarok&cct_action=add)

Az elem létrehozásakor a jobb oldali panelen kiválaszthatod a **Tétel állapota** értékét (például **Közzététel**).

![Egy meglévő elem szerkesztése](./kepek/cct-elem-szerkesztes.webp)

*Egy meglévő elem szerkesztése* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-cct-webinarok&cct_action=edit&item_id=1)

A mentés után az elemet szerkesztheted a **Mentés** gombbal, új elemet kezdhetsz az **Új tétel** gombbal, a **Vissza a tételek listájához** gombbal pedig visszalépsz a listához. Ha a **Van külön oldala** be van kapcsolva, az elem oldalán megjelenik az **Egyedi bejegyzés** szakasz az **Ugrás az egyedi bejegyzéshez** hivatkozással, amely a kapcsolódó bejegyzés szerkesztőjére visz.

## Megjelenítés a frontenden

A CCT-elemek háromféleképpen jeleníthetők meg a weboldalon:

1. **Listázási sablonnal.** A **JetEngine → Listázások/komponensek** oldalon hozz létre CCT forrású listázási sablont, a dinamikus widgetekkel (**Dynamic Field**, **Dynamic Image**, **Dynamic Link**) írd ki az adatokat, a sablont pedig a **Listing Grid** widget jeleníti meg rácsban. A sablon Elementorban, a WordPress blokkszerkesztőjében és Bricksben is szerkeszthető. Lásd: [Listázási sablon CCT-hez](https://hub.hellowp.io/hu/plugins/jet-engine/cct-listing-sablon/).
2. **Egyedi oldallal.** Ha a **Van külön oldala** be van kapcsolva, a listában az elemre kattintva a hozzá tartozó bejegyzés oldalára léphetsz. Lásd: [Egyedi oldal sablonja CCT-hez](https://hub.hellowp.io/hu/plugins/jet-engine/cct-single-sablon/).
3. **Dinamikus felugró ablakkal.** A JetPopup bővítménnyel dinamikus felugró ablak köthető a CCT listázásához: egy elemre kattintva az ablak az adott elem adatait mutatja.

## További fejezetek a CCT-ről

- [CCT importálása és exportálása](https://hub.hellowp.io/hu/plugins/jet-engine/cct-import-export/)
- [Taxonómia hozzáadása CCT-hez](https://hub.hellowp.io/hu/plugins/jet-engine/bejegyzestipusok-taxonomia-cct-hez/)
- [Adatok importálása CCT-be](https://hub.hellowp.io/hu/plugins/jet-engine/bejegyzestipusok-adatok-importalasa/)
- [Kapcsolat egyedi tartalomtípusok között](https://hub.hellowp.io/hu/plugins/jet-engine/kapcsolatok-cct/)
- [CCT metamezők megjelenítése Bricksben](https://hub.hellowp.io/hu/plugins/jet-engine/meta-mezok-cct-bricks/)
