# CCT-elemek beszúrása és szerkesztése űrlappal

> Frontend űrlap készítése CCT-elemek létrehozásához és meglévők frissítéséhez a JetFormBuilderrel.

Egyéni tartalomtípus elemeit frontend űrlappal is létrehozhatod és szerkesztheted. Előfeltétel: Elementor, blokkszerkesztő vagy Bricks; aktív JetEngine bekapcsolt CCT modullal; aktív JetFormBuilder.

## 1. A CCT felvétele

1. Menj a **JetEngine → Egyedi tartalomtípusok** oldalra, és kattints az **Új hozzáadása** gombra.
2. Hozz létre CCT-t a szükséges mezőkkel. A példában egy három mezős CCT van: „Név”, „Cím” és „Üzenet”.
3. A CCT mentésekor a jobb oldali panelen az **Űrlapok** szakaszban megjelenik az **Új űrlap létrehozása** gomb.

## 2. Az űrlap előállítása

Az **Új űrlap létrehozása** gombra kattintva a JetFormBuilder automatikusan létrehoz egy űrlapot, amelynek mezői a CCT metamezőinek felelnek meg.

Az űrlap szerkesztőjében, a **JetForm** fülön látszik, hogy a bejegyzés utáni műveletek között automatikusan megjelent az **Insert/Update Custom Content Type Item** művelet (CCT-elem beszúrása vagy frissítése), amelyben a mezők már hozzá vannak rendelve a CCT metamezőihez.

A művelet szerkesztéséhez vidd fölé az egeret, és kattints a ceruza ikonra. A megnyíló ablakban szerkesztheted a mezők hozzárendelését, a CCT-elem állapotát és a metamezők tartalék értékeit. A módosítások után kattints a **Frissítés** gombra. Az **+ Új művelet** gombbal további műveleteket is felvehetsz. Végül mentsd az űrlapot.

## 3. Az űrlap elhelyezése az oldalon

1. Menj az **Oldalak** menübe, hozz létre új oldalt, vagy nyiss meg egy meglévőt.
2. Add hozzá az űrlapot a **JetForm** blokkal, widgettel (Elementor) vagy elemmel (Bricks).
3. Az **Űrlapbeállítások** részben válaszd ki az űrlapot, a **Stílus** fülön szükség esetén formázd a mezőket.
4. Kattints a **Közzététel** gombra.

Ha blokkszerkesztőt, Divit vagy más, az Elementoron és a Bricksen kívüli szerkesztőt használsz, az űrlapot rövidkóddal illesztheted be, a formázáshoz pedig az ingyenes JetStyleManager bővítmény használható.

Töltsd ki az űrlapot a frontenden, és kattints a küldésre. A CCT menüpontjában ott lesz az új elem az űrlapon megadott értékekkel.

## Meglévő CCT-elemek szerkesztése frontend űrlappal

A meglévő elemek frissítéséhez olyan űrlap kell, amelynek mezői megegyeznek a létrehozó űrlapéval. A legegyszerűbb, ha az eredeti űrlapot duplikálod, átnevezed és módosítod.

### A frissítendő elem kiválasztása

Szükség van egy **Select** mezőre, amelyben a frissítendő CCT-elemet választod ki. A mező opcióit dinamikusan kell előállítani, ehhez lekérdezés kell:

1. A **JetEngine → Lekérdezéskészítő** oldalon kattints az **Új hozzáadása** gombra.
2. Add meg a nevet, a lekérdezés típusa legyen **Custom Content Type Query**.
3. A tartalomtípus lekérdezés részében a **From Content Type** listából válaszd ki a CCT-t, és mentsd a lekérdezést.
4. Térj vissza az űrlaphoz, és add hozzá a **Select** mezőt. A **Fill options from** értéke legyen **Generate Dynamically**, a generátorfüggvény pedig a **Get values list from JetEngine Query**.
5. A **Field name** mezőbe a makró formátuma: `lekérdezés azonosítója|_ID|a címkeként megjelenő mező`. Például:

```
14|_ID|name
```

- a lekérdezés azonosítója a Lekérdezéskészítő szerkesztőoldalának URL-je végén látszik, ezt cseréld a sajátodra,
- az `_ID` a CCT-elem azonosítója, ezt ne cseréld le,
- a harmadik rész a CCT bármelyik mezője lehet, amelyet címkeként szeretnél mutatni.

### A mezők hozzárendelése

Nyisd meg a **JetForm → Post-Submit Actions** részt, válaszd az **Insert/Update Custom Content Type Item** műveletet, kattints a ceruza ikonra, és rendeld hozzá az összes mezőt. Ha az űrlapot a létrehozó űrlap duplikálásával készítetted, egy kivételével az összes mező már helyesen van hozzárendelve. Az egyetlen hátralévő feladat, hogy a szerkesztendő CCT-elem azonosítóját megadó **Select** mezőt a meglévő CCT-elem azonosítójához rendeld.

Illeszd be az űrlapot az oldalra a **JetForm** blokkal, widgettel vagy elemmel, és használd a meglévő elemek frissítésére.
