# Ismétlő mező a Klasszikus harmonikában

> JetEngine ismétlő mezők megjelenítése a Klasszikus harmonika widgetben lekérdezéssel, például egy túra napjai.

A JetEngine ismétlő (Repeater) mezőjének sorait a **Klasszikus harmonika** egy-egy tételeként is megjelenítheted. Jó példa egy túra oldala, ahol minden naphoz külön leírás tartozik: a nap címe a harmonika fejléce, a leírása a lenyíló tartalom. A megoldás a JetEngine Query Builderére épül, ezért nincs szükség a Dynamic data kiegészítőre ([Dynamic data kiegészítő](https://hub.hellowp.io/hu/plugins/jet-tabs/dinamikus-tartalom-dynamic-data/)).

## Követelmények

- Elementor (az ingyenes változat is elég).
- JetEngine, benne egy egyéni tartalomtípussal.
- JetTabs.
- Ha az ismétlő mezőt egyedi bejegyzéssablonban jeleníted meg, a sablonkészítő bővítmény is kell (a **Crocoblock → Theme Templates** menüben készül a sablon).

## 1. Az ismétlő mező létrehozása

1. Nyisd meg a **JetEngine → Post Types** oldalt, és szerkeszd azt az egyéni tartalomtípust, amelyikhez az ismétlő mező tartozik.
2. A **Meta Fields** fülön kattints a **New Meta Field** gombra.
3. Töltsd ki a **Label** és a **Name/ID** mezőt. A **Name/ID** csak latin betűt, számot, kötőjelet és aláhúzást tartalmazhat, szóköz és nagybetű nélkül.
4. Az **Object type** maradjon az alapértelmezett **Field**, a **Field type** legyen **Repeater**.
5. A **New Repeater Field** gombbal vegyél fel almezőket. Példánkban egy **Text** típusú mező adja a fejléc szövegét, egy **WYSIWYG** típusú mező a tartalmat.
6. Mentsd a tartalomtípust az **Update Post Type** gombbal.

## 2. A bejegyzések kitöltése

Nyisd meg a tartalomtípus bejegyzéseit, és az ismétlő mezőben vegyél fel annyi sort, ahány harmonikatétel kell (például egy túrához négy vagy több napot). Frissítsd a bejegyzést, és ismételd meg minden érintett bejegyzésnél.

## 3. Lekérdezés készítése

1. Nyisd meg a **JetEngine → Query Builder** oldalt, és kattints az **Add New** gombra.
2. Add meg a lekérdezés nevét, a **Query Type** legyen **Repeater Query**.
3. A **Repeater Query** részben a **Source** értéke **JetEngine Meta Field**, a **JetEngine Field** pedig az előbb létrehozott ismétlő mező.
4. Az **Object ID** mezőt hagyd üresen, ha az ismétlő mezőt a bejegyzés saját oldalán jeleníted meg. Statikus oldalon ide a bejegyzés azonosítója kerül.
5. Ha az ismétlőnek sok almezője van, és csak néhányra van szükséged, a **Query Arguments** résznél az **Add new** gombbal vegyél fel egy sort: a **Field key/name** az almező neve, a **Compare** értéke **Exists**. Több almezőhöz ismételd meg.
6. Mentsd az **Add Query** gombbal.

## 4. A harmonika beállítása

Az ismétlő mező kiírható egyedi bejegyzéssablonban és statikus oldalon is. Itt a sablonos példa következik.

1. Nyisd meg a **Crocoblock → Theme Templates** oldalt, és szerkeszd az egyedi bejegyzéssablont az Elementorban.
2. Húzd be a **Klasszikus harmonika** widgetet.
3. A **Tételek** részen kapcsold be a **JetEngine-lekérdezés használata** kapcsolót, és a **Select Query** mezőben válaszd ki az imént készített lekérdezést.
4. Töröld az alapértelmezett tételek közül az utolsó kettőt, hogy egy maradjon. Ez az egy tétel a sablon: a lekérdezés minden sorához ennek alapján készül egy harmonikatétel.
5. Nyisd meg az **1. tétel** részt, és a **Címke** mező mellett kattints a **Dinamikus címkék** gombra. Válaszd a **Current Object Field** lehetőséget, majd a **Field** listában azt az almezőt, amelyik a fejlécet adja. Az almezők a lekérdezés neve alatt találhatók.
6. Állítsd be a **Tartalom típusát**:
   - **Szerkesztő**: a szerkesztő mezőnél is a **Dinamikus címkék** gombra kattints, válaszd a **Current Object Field** lehetőséget, és add meg a tartalmat tároló almezőt. Ezt használtuk a példában.
   - **Sablon**: válaszd ki a **Choose Template** mezőben azt a sablont, amelyben a **Dynamic Field** widget **Object Field** forrásként a kívánt ismétlő almezőt jeleníti meg.
7. Állítsd be a widget stílusát, és frissítsd az oldalt.

![A Klasszikus harmonika szerkesztője a Tételek résszel, ahol a JetEngine-lekérdezés használata kapcsoló látszik](./kepek/dinamikus-tartalom-harmonika-szerkeszto.webp)

*A Klasszikus harmonika szerkesztője a Tételek résszel, ahol a JetEngine-lekérdezés használata kapcsoló látszik* (https://minta-bolt.hu/wp-admin/post.php?post=5&action=elementor)

A képen a **Tételek** rész tetején lévő **JetEngine-lekérdezés használata** kapcsolót keresd: ennek bekapcsolása után jelenik meg a lekérdezés kiválasztása.

A nyilvános oldalon a harmonika minden tétele az ismétlő mező egy-egy sorát mutatja a bejegyzésben megadott címmel és tartalommal.

Ugyanez a módszer statikus oldalon is működik, ott a lekérdezés **Object ID** mezőjébe kell írni a bejegyzés azonosítóját.
