# CCT-elemek hozzárendelése felhasználókhoz

> Felhasználók és CCT-elemek összekapcsolása kapcsolattal, lekérdezéssel és listázással, illetve JetFormBuilder űrlappal.

A WordPress-felhasználók és az egyéni tartalomtípus elemei kapcsolattal köthetők össze. Ez a fejezet két módszert mutat: az összekapcsolást a felhasználói oldalon és az összekapcsolást frontend űrlappal.

## Elemek hozzárendelése a felhasználókhoz (kapcsolattal)

Előfeltétel: Elementor vagy blokkszerkesztő, aktív JetEngine CCT-vel és szójegyzékkel (a szükséges értékekkel), valamint a Profilkészítő modul bekapcsolva egyetlen felhasználói oldallal. A példában a „Álláskereső önéletrajzok” CCT elemeit rendeled a felhasználókhoz.

### 1. Kapcsolat létrehozása

1. Menj a **JetEngine → Kapcsolatok** oldalra, és kattints az **Új hozzáadása** gombra.
2. Add meg a nevet. A **Szülő objektum** legyen a **Felhasználók**, a **Gyermek objektum** pedig a CCT. Válaszd az **egy a többhöz** kapcsolattípust, és mentsd a kapcsolatot.
3. Az **Általános beállítások** között más beállításokat is bekapcsolhatsz. A példában a szülő és a gyermek objektumhoz tartozó vezérlők regisztrálása be van kapcsolva.
4. A **Tartalomtípushoz kapcsolódó beállítások** fülön válaszd ki a **Címmező** értékét: ez lesz a kapcsolt elemek címe az adott CCT-elemnél.
5. A **Metamezők** részben az **Új mező** gombbal vegyél fel metamezőt a kapcsolathoz. A példában ez egy **Jelölőnégyzet** típusú mező, amelynek forrása szójegyzék: kapcsold be a szójegyzékből való opciók betöltését, és válaszd ki a szójegyzéket.
6. Mentsd a kapcsolatot.

### 2. Lekérdezés a Lekérdezéskészítővel

A listázásokban csak a kapcsolódó elemeket szeretnéd mutatni, ehhez lekérdezés kell.

1. Menj a **JetEngine → Lekérdezéskészítő** oldalra, és hozz létre új lekérdezést.
2. Add meg a nevet, a lekérdezés típusa legyen **Custom Content Type Query** (egyéni tartalomtípus lekérdezés), és válaszd ki a CCT-t.
3. A **Query** részben kattints a hozzáadásra. A **Field** értéke legyen **Item ID**, az összehasonlítás **Equal (=)**.
4. A **Value** mezőnél nyisd meg a dinamikus címkéket, és válaszd a **Related Items** makrót. Állítsd be: a kapcsolat legyen a létrehozott kapcsolat, a **From Object** a **Child Object**, az **Initial Object ID From** pedig a **Current Object ID**. Kattints az **Apply** gombra.
5. A **Type** értéke legyen **Char**, majd mentsd a lekérdezést.

### 3. Összekapcsolás a felhasználók oldalán

1. Nyisd meg a **Felhasználók** oldalt, és a felhasználó szerkesztésénél kattints a **Connect …** gombra (a felirat a gyermek objektum nevétől és a kapcsolat feliratától függ).
2. A legördülő listából válaszd ki az elemet, és kattints a gombra ismét.
3. A megjelenő ablakban válaszd ki a kapcsolat metamezőjének értékeit, és kattints a metaadatok mentésére.
4. Kattints a **Felhasználó frissítése** gombra.

Végezd el ezt minden érintett felhasználónál.

### 4. Megjelenítés listázásban

1. A **JetEngine → Listázások/komponensek** oldalon hozz létre listázást, forrásnak az **Egyedi tartalomtípus** értéket választva. A példa Elementorban és a blokkszerkesztőben is megmutatja a folyamatot.
2. Elementorban a **Dynamic Field** widgettel írd ki a CCT mezőit (**Post/Term/User/Object Data** forrással). A kapcsolat metamezőjét külön **Dynamic Field** widgettel jelenítheted meg: a forrás a **Relation Meta Data**, és a gyermek objektumhoz tartozó opciót válaszd.
3. A kész listázást a **JetEngine → Profile Builder → User Page** oldalon megadott sablonba tedd be **Listing Grid** widgettel. A **Custom Query** fülön válaszd ki az előbb létrehozott lekérdezést.

A blokkszerkesztős változatban beágyazott listázás kell: hozz létre egy **Felhasználók** forrású listázást blokkszerkesztő nézettel, tegyél bele egy **Dynamic Field** blokkot a felhasználó nevéhez és egy **Listing Grid** blokkot a CCT listázásával. A **Custom Query** résznél kapcsold be az egyéni lekérdezés használatát, és válaszd ki a lekérdezést. Ezt a listázást a **Profile Builder → Pages → Users Page** oldalon megadott nyilvános felhasználói oldalon a **Listing Grid** blokkal helyezheted el.

## Felhasználók összekapcsolása CCT-elemekkel űrlapon

A JetFormBuilder űrlapok mezői a JetEngine lekérdezéseivel együtt sokféle lehetőséget adnak. Az egyik, hogy a bejegyzés utáni művelettel a felhasználókat CCT-elemekhez kapcsold.

Előfeltétel: blokkszerkesztő, aktív JetFormBuilder, valamint aktív JetEngine egy létrehozott CCT-vel és a hozzá tartozó (felhasználó-CCT) kapcsolattal.

1. **Felhasználók lekérdezése.** A **JetEngine → Lekérdezéskészítő** oldalon hozz létre **Users Query** típusú lekérdezést, szükség esetén állítsd be a paramétereit, és mentsd. Jegyezd meg az azonosítóját, amely az oldal slugjában látszik.
2. **Mező az űrlapon.** A **JetFormBuilder → Forms** oldalon hozz létre vagy nyiss meg egy űrlapot. Tegyél bele **Checkbox**, **Select** vagy **Radio** mezőt, és az opciók forrásánál válaszd a **Generate Dynamically** (dinamikus előállítás) értéket. A generátorfüggvény legyen **Get values list from JetEngine Query**, a mezőnév pedig `36|ID|user_login` alakú:
   - a `36` a lekérdezés azonosítója (cseréld a sajátodra),
   - az `ID` az a tulajdonság, amelyből az értékek jönnek,
   - a `user_login` az a tulajdonság, amelyből a címkék jönnek. Itt más adatbázisoszlop is állhat, például `user_nicename` vagy `user_email`. A lehetséges oszlopok a lekérdezés előnézetében láthatók.
3. **Előbeállítás.** Ha a felhasználók már hozzá vannak rendelve a CCT-elemhez, a **Radio** mező alapértelmezett értékét az **Érték** fülön előbeállíthatod. A példában a felhasználók a kapcsolat szülői, a CCT a gyermeki oldala.
4. **Bejegyzés utáni művelet.** A **Connect Relation Items** műveletben használd a mezőt. A CCT-elem azonosítóját (a gyermek elem azonosítója) a **Current ID** adja, ha az űrlap felugró ablakban van, vagy egy URL-lekérdezési változó, ha az űrlap a fiókoldalon van. Frissítsd a műveletet és tedd közzé az űrlapot.

A frontenden az űrlapmezőben megjelenik a felhasználók listája, és hozzájuk kötheted a CCT-elemet.
