# Kapcsolat metamezőinek megjelenítése

> Metamező felvétele a kapcsolathoz, az adatok megadása, és megjelenítés dinamikus widgetekkel és a Kapcsolódó elemek száma dinamikus címkével.

A kapcsolathoz metamezők adhatók, amelyek az összekapcsolt elempárhoz tartozó további adatot tárolnak. Szükséges: Elementor (ingyenes), blokkszerkesztő vagy Bricks, és aktív JetEngine.

A példában színészeket kapcsolunk filmekhez, és a „Szerep” metamező a szereplő nevét tárolja.

## A kapcsolat és a metamező

1. Hozd létre a **Filmek** és **Színészek** egyedi bejegyzéstípust.
2. A **JetEngine → Kapcsolatok** oldalon hozz létre köztük kapcsolatot **Több a többhöz** típussal (egy színész több filmben szerepel, egy filmnek több szereplője van).
3. Kapcsold be a **Register controls for parent object**, **Allow to create new children from parent**, **Allow to delete children from parent**, **Register controls for child object**, **Allow to create new parents from children** és **Allow to delete parents from children** kapcsolót. Így a filmeknél színészt, a színészeknél filmet adhatsz hozzá és törölhetsz.
4. Nyisd meg a **Meta Fields** lapot, és kattints a **New Field** gombra. Vegyél fel egy „Szerep” mezőt **Text** típussal. A mezőt így egyszer kell létrehozni, nem kell külön a két bejegyzéstípushoz.
5. Mentsd a kapcsolatot az **Add Relation** gombbal.

## Adatok megadása

1. Szerkeszd az egyik színész bejegyzést, és a kapcsolódó elemek dobozában kattints az **Új Filmek hozzáadása** gombra (a meglévő filmet az **Összekapcsolás Filmek** gombbal köthetod hozzá).
2. Az ablakban add meg a film címét, és kattints az **Új Filmek hozzáadása** gombra.
3. A metamezők ablakában töltsd ki a **Szerep** mezőt, és kattints a **Save Meta Data** gombra.
4. Frissítsd a bejegyzést, és ismételd meg a többi bejegyzéssel.

## Lekérdezések

Mindkét bejegyzéstípushoz kell egy lekérdezés: az egyik a szülőket, a másik a gyermekeket jeleníti meg.

1. A **JetEngine → Lekérdezéskészítő** oldalon kattints az **Új hozzáadása** gombra.
2. Add meg a nevet, a típus maradjon **Bejegyzések lekérdezése**, és az általános lapon válaszd a **Filmek** bejegyzéstípust.
3. A **Bejegyzés és oldal** lapon a **Post In** mező melletti ikonnal válaszd a **Related Items** makrót.
4. A **From Relation** a kapcsolat, a **From Object** a **Parent Object** (a film a szülő), az **Initial Object ID From** az **Aktuális objektum ID-ja** (mert a filmek listája a színész oldalán jelenik meg). Kattints az **Alkalmaz**, majd a mentés gombra.
5. Hozz létre hasonló lekérdezést a **Színészek** bejegyzéstípushoz is.

## Listázási elem és oldalak

1. Hozz létre két listázási elemet, egyet a **Színészek**, egyet a **Filmek** bejegyzéstípushoz.
2. A színészek elemében tegyél fel egy **Dynamic Field** widgetet. A **Source** legyen **Relation Meta Data**, és válaszd ki a kapcsolat „Szerep” mezőjét. A widget végén a **Context** mezőben válaszd a „Related Items from Filmek > Színészek” értéket.
3. Frissítsd a listázási elemet, és készíts hasonlót a filmekhez.
4. A **Filmek** önálló oldalán tegyél fel egy **Listing Grid** elemet, válaszd ki a színészek listázási elemét, és az **Egyéni lekérdezés** lapon kapcsold be a kapcsolót, majd válaszd ki a színészek lekérdezését.
5. Ugyanezt végezd el a **Színészek** önálló oldalán a filmekkel.

A metamezőket bármelyik JetEngine dinamikus widgettel megjelenítheted.

## Kapcsolódó elemek száma

A kapcsolódó elemek számát a **Related Items Count** dinamikus címke adja.

1. Nyisd meg a kapcsolódó objektum önálló sablonját (itt a Színészekét), és tegyél fel egy **Header** widgetet.
2. A **Dynamic Tags** gombbal válaszd a **Related Items Count** címkét.
3. Állítsd be:

| Beállítás | Mit csinál |
|---|---|
| **From Relation** | A kapcsolat, amelyből a számot kéred. |
| **From Object** | **Child Object** vagy **Parent Object**: melyik oldal elemeit számolja. A példában a színésztől a filmek (szülők) számát kérjük, tehát **Parent Object**. |
| **Initial Object ID From** | Honnan vegye a kiinduló objektumot (az értékek ugyanazok, mint a [makróknál](https://hub.hellowp.io/hu/plugins/jet-engine/kapcsolatok-makrok/)). |
| **Variable Name** | Csak a **Query Variable** és a **Current Object Variable** értéknél látszik. |

4. A **Speciális** lapon a **Before** és **After** mezőbe a szám előtti és utáni szöveg írható (szóköz is megadható), a **Fallback** mező szövegét akkor látod, ha az adat nem jeleníthető meg.
5. Tedd közzé a sablont.
