Beágyazott ismétlőhöz hasonló szerkezet kapcsolatokkal
Háromszintű kapcsolatlánc (felhasználó, szerep, projekt) és beágyazott listázás a beágyazott ismétlő helyett.
Ha a beágyazott ismétlő mező nem elég, vagy nem használható, ugyanazt a szerkezetet a Kapcsolatok funkcióval is felépítheted. A kapcsolat bejegyzések, CCT-elemek, taxonómiatagok és felhasználók között is létrehozható, és három szintű (nagyszülő, szülő, gyerek) lánc is kialakítható. A kapcsolt elemeket beágyazott listázással jeleníted meg az oldalon.
A példában egy cég munkatársainak több szerepe van, és minden szerephez több projekt tartozik. Beágyazott ismétlővel ez egy külső ismétlő (szerepek) és egy belső ismétlő (projektek) lenne. Itt helyette ez a lánc készül:
Felhasználók → Csapatszerepek → Csapatprojektek
A Csapatszerepek bejegyzéstípus a külső, a Csapatprojektek a belső „ismétlő”.
Szükséges: Elementor (ingyenes), blokkszerkesztő vagy Bricks, és az aktív JetEngine.

A kép a JetEngine → Kapcsolatok oldalt mutatja: itt hozod létre a két kapcsolatot.
1. A két bejegyzéstípus
Szekció neve “1. A két bejegyzéstípus”- Menj a JetEngine → Bejegyzéstípusok oldalra, és kattints az Új hozzáadása gombra.
- Add meg a nevet (például „Csapatszerepek”). A slug magától kitöltődik. Ha kell, vegyél fel metamezőket.
- Mentsd a bejegyzéstípust.
- Ismételd meg a „Csapatprojektek” típussal. Mezőnek vedd fel például a Projektképek nevű Galéria típusú mezőt, és a Projekt állapota mezőt a „Nincs elkezdve”, „Folyamatban”, „Szünetel” és „Befejezett” opciókkal.
2. Nagyszülő és szülő közötti kapcsolat
Szekció neve “2. Nagyszülő és szülő közötti kapcsolat”- Nyisd meg a JetEngine → Kapcsolatok oldalt, és kattints az Új hozzáadása gombra.
- Add meg a nevet: „Felhasználók > Csapatszerepek”.
- Szülő objektumnak válaszd a Felhasználók, gyerek objektumnak a „Csapatszerepek” bejegyzéstípust.
- A kapcsolat típusa legyen Sok a sokhoz.
- Kapcsold be a gyerekek létrehozását és törlését a szülő szerkesztőjéből lehetővé tevő két kapcsolót, hogy a felhasználó szerkesztőoldaláról is felvehesd a szerepeket.
- Görgess lejjebb, és vedd fel a kapcsolat metamezőit, például „Felhasználói feladatok” és „Szakértelem szintje”.
- Mentsd a kapcsolatot.
3. Szülő és gyerek közötti kapcsolat
Szekció neve “3. Szülő és gyerek közötti kapcsolat”- Hozz létre egy újabb kapcsolatot „Csapatszerepek > Csapatprojektek” névvel.
- Szülő objektum a „Csapatszerepek”, gyerek objektum a „Csapatprojektek”, a típus Sok a sokhoz.
- Szülő kapcsolatnak add meg az előbb létrehozott „Felhasználók > Csapatszerepek” kapcsolatot. Ettől lesz belőle háromszintű lánc.
- Kapcsold be a gyerekek létrehozását és törlését mindkét irányból.
- A kapcsolat metamezői lehetnek például: Kezdő dátum és Záró dátum (Dátum típus), valamint Kiosztott feladatok, Projekt haladási jegyzetei és Visszajelzés (Szövegterület típus).
- Mentsd a kapcsolatot.
4. Adatok felvitele
Szekció neve “4. Adatok felvitele”- Nyisd meg egy felhasználó szerkesztőoldalát, és a lap alján a gyerek szerepek blokkban kattints az új elem felvételére. Írd be a címet (például „Frontend fejlesztő”), mentsd, majd a felugró ablakban töltsd ki a kapcsolat metamezőit, és mentsd az adatokat.
- Vedd fel ugyanígy a második szerepet („UX tervező”). A szerepek bejegyzésként is létrejönnek a Csapatszerepek listában.
- Nyisd meg egy szerepet. A Szülő felhasználó részben a felhasználó már hozzá van kapcsolva. A Gyerek csapatprojektek részben vegyél fel projekteket (cím és egyedi mezők), például „Webáruház” vagy „Mobilbanki alkalmazás”.
- Ugyanígy töltsd ki a többi szerepet is.
5. Lekérdezések
Szekció neve “5. Lekérdezések”Két lekérdezés kell: egy a projektekhez (a szerepek gyerekei), egy a szerepekhez (a felhasználók gyerekei).

A kép a JetEngine → Lekérdezéskészítő oldalt mutatja, ahol a két lekérdezés elkészül.
- Menj a JetEngine → Lekérdezéskészítő oldalra, és kattints az Új hozzáadása gombra.
- Add meg a nevet („Projektek a szerepekhez”). A lekérdezés típusa maradjon a Bejegyzések lekérdezése.
- Az általános részben válaszd ki a gyerek bejegyzéstípust („Csapatprojektek”).
- A Bejegyzés és oldal részben kattints az adatbázis ikonra a Post In mező mellett, és válaszd a Kapcsolódó elemek makrót.
- A From Relation mezőben válaszd a „Csapatszerepek > Csapatprojektek” kapcsolatot, a From Object mezőben a Child Object értéket, az Initial Object ID From mezőben a Current Object ID értéket. Kattints az Alkalmaz gombra.
- Mentsd a lekérdezést.
- Hozd létre a második lekérdezést („Szerepek a felhasználókhoz”) ugyanígy: gyerek bejegyzéstípus a „Csapatszerepek”, kapcsolat a „Felhasználók > Csapatszerepek”, a többi beállítás ugyanaz.
6. Listázás a projektekhez
Szekció neve “6. Listázás a projektekhez”- Menj a JetEngine → Listázások/komponensek oldalra, és vegyél fel új elemet.
- A Listázás forrása legyen a Lekérdezéskészítő, válaszd ki az első lekérdezést („Projektek a szerepekhez”), add meg a nevet („Projektek listázása”), és válaszd a megjelenítési módot (Blokkok, Bricks, Timber/Twig vagy Elementor).
- Hozd létre a listázási elemet.
- A bejegyzés adatait (cím, egyedi mezők) a dinamikus widgetekkel jelenítsd meg, ahogy szoktad.
- A kapcsolat metaadatainak megjelenítéséhez tegyél be egy Dynamic Field elemet, a Forrás legyen Kapcsolat metaadatai, a Metamező listából válaszd a „Csapatszerepek > Csapatprojektek” kapcsolat mezőjét.
- A Kontextus listában válaszd a Kapcsolódó elemek innen: … értéket a kapcsolat nevével.
- Hasznos beállítások: Elrejtés, ha az érték üres; A mező kimenetének szűrése a Dátum formázása visszahívással a dátummezőhöz, szöveges mezőnél a Szöveg vágása karakterek vagy szavak szerint visszahívással. Az utóbbi akkor érhető el, ha a JetEngine → JetEngine → Modulok → Külső modulok lapon bekapcsoltad a szövegvágás visszahívást.
- Tedd közzé a listázást. Az előnézet addig nem teljes, amíg az összes lépést el nem végezted.
7. A beágyazott listázás
Szekció neve “7. A beágyazott listázás”- Vegyél fel új listázást a Listázások/komponensek oldalon, forrásnak a Lekérdezéskészítő, lekérdezésnek a második („Szerepek a felhasználókhoz”), névnek „Szerepek listázása”.
- A szerep adatait és a kapcsolat metamezőit itt is dinamikus mezőkkel jelenítsd meg.
- Húzd be a Listing Grid elemet, és válaszd ki benne az előző, „Projektek listázása” listázást. Ettől lesz beágyazott a listázás. Ebben a szerkesztőben az előnézet nem érhető el.
- Mentsd a változtatásokat.
8. Elhelyezés és eredmény
Szekció neve “8. Elhelyezés és eredmény”A Listing Grid elemet a nagyszülő objektum, jelen esetben a felhasználó egyedi oldalán helyezed el. A példában a Profilkészítő felhasználói profiloldalának adatokat megjelenítő aloldal-sablonjába kerül: nyisd meg a sablont a szerkesztőben, tedd be a Listing Grid elemet, válaszd ki a „Szerepek listázása” listázást, és mentsd.
A weboldalon nyisd meg a felhasználó profiloldalát: a szerepek és a hozzájuk tartozó projektek a beágyazott listázásban, csoportosítva jelennek meg.
Készült: