# Ismétlő mező elemeinek rendezése és szűrése

> Ismétlő (Repeater) mező elemeinek megjelenítése Ismétlő lekérdezéssel, rendezése a Rendezés szűrővel és szűrése választógombos szűrővel.

Az **Ismétlő** (Repeater) egyéni mező több elemet tárolhat. Ha ezeket meghatározott sorrendben vagy értékek szerint szűkítve akarod mutatni, a JetEngine Query Builderével és a JetSmartFilterssel az elemek közvetlenül az oldalon lekérdezhetők, rendezhetők és szűrhetők. Előfeltétel: aktív JetEngine és JetSmartFilters; a szerkesztő Elementor, Gutenberg vagy Bricks lehet.

A példában egy „Utazási csomagok” ismétlő mező szerepel, amelynek elemei „Csomag neve” (szöveg), „Ár” és „Időtartam” (szám) mezők.

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

Az ismétlő mező bármely JetEngine mezőkészlettel létrehozható: bejegyzéstípushoz, egyéni tartalomtípushoz, taxonómiához, kapcsolathoz, felhasználóhoz (meta box) és beállítási oldalhoz is, és az ACF bővítménnyel is.

1. Nyisd meg a **JetEngine → Post Types** oldalt, és szerkeszd a bejegyzéstípust (a példában „Túrák”).
2. A **Meta fields** lapon kattints a **New Meta Field** gombra.
3. Add meg a **Label** és a **Name/ID** mezőt, a **Field type** legyen **Repeater**.
4. A **New Repeater Field** gombbal vegyél fel három mezőt: „Csomag neve” (**Text**), „Ár” (**Number**) és „Időtartam” (**Number**).
5. Mentsd a bejegyzéstípust (**Update Post Type**).
6. Szerkessz egy bejegyzést, és vegyél fel néhány csomagot az ismétlő mezőbe.

## Ismétlő lekérdezés

Az elemek szűréséhez és rendezéséhez egyéni lekérdezés kell.

1. Nyisd meg a **JetEngine → Query Builder** oldalt, és kattints az **Új hozzáadása** gombra.
2. Add meg a **Név** mezőt, a **Lekérdezés típusa** legyen **Ismétlő lekérdezés**.
3. Az **Ismétlő lekérdezés** részben a **Forrás** listában válaszd a **JetEngine meta mező** lehetőséget, és add meg a mezőt.
4. Az **Objektum ID** mezőt hagyd üresen, ha az elemeket az egyedi bejegyzés oldalán akarod mutatni. Ha statikus oldalon jelennek meg, ide írd a bejegyzés azonosítóját.
5. Szükség szerint állíts be további opciókat, majd kattints a **Lekérdezés hozzáadása** gombra.

![Az Ismétlő lekérdezés beállításai a Query Builderben](./kepek/megjelenites-ismetlo-lekerdezes.webp)

*Az Ismétlő lekérdezés beállításai a Query Builderben* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine-query&query_action=add)

A képen a **Lekérdezés típusa** mezőben kiválasztott **Ismétlő lekérdezés**, alatta a **Forrás** és az **Objektum ID** mező látszik.

## Listing elem az ismétlő forrással

1. Nyisd meg a **JetEngine → Listings/Components** oldalt, és kattints az **Add New Item** gombra.
2. A **Listing source** legyen **Query Builder**, a **Query** mezőben válaszd ki az előbbi lekérdezést.
3. Add meg a listing nevét, és válaszd ki a nézetet (Elementor, Blocks (Gutenberg), Timber/Twig, Bricks vagy Divi).
4. A sablonban a **Dynamic Field** widget forrása maradjon **Post/Term/User/Object Data**. Az **Object Field** listában görgess a lekérdezésed nevét viselő **Query** szakaszhoz, és válaszd ki azt az ismétlő almezőt, amelynek az értékét mutatni akarod.
5. Alakítsd át a sablont, és mentsd.

## Elemek rendezése

### Az oldal felépítése

Az egyedi bejegyzés sablonját a JetThemeCore bővítménnyel készítheted el.

1. Nyisd meg az egyedi bejegyzés sablonját, és vegyél fel két oszlopot.
2. A második oszlopba tedd a **Listing Grid** widgetet, és az **Általános** lapon válaszd ki a listing elemet.
3. Ha több **Listing Grid** van az oldalon, a **Haladó** lap **CSS ID** mezőjébe írj egyedi értéket.
4. Az első oszlopba tedd a **Rendezés** szűrőt, és állítsd be:

| Beállítás | Érték |
| --- | --- |
| **This filter for** | **JetEngine** |
| **Apply type** | **Page reload** |
| **Apply on** | **Click on apply button** |
| **Show apply button** | bekapcsolva |
| **Query ID** | a **Listing Grid** **CSS ID** értéke |

### A rendezési lista

A **Sorting List** lapon adhatsz meg rendezési szempontokat. Egy szempont mezői:

| Mező | Mit adj meg |
| --- | --- |
| **Title** | A látogatónak megjelenő név, például „Név szerint, ábécé sorrendben”. |
| **Order By** | **Meta key** vagy **Meta key numeric**. |
| **Key** | Az ismétlő almező kulcsa, például `package_name`. |
| **Order** | **ASC** (növekvő) vagy **DESC** (csökkenő). |

Annyi szempontot vegyél fel, amennyi kell: a példában a név, az ár és az időtartam szerint is létrehoztunk növekvő és csökkenő sorrendet. Tedd közzé az oldalt. A nyilvános oldalon, ha például az „Ár szerint, a legolcsóbbtól” lehetőséget választod, az elemek ár szerint rendeződnek. A szűrő további beállításai a [Rendezés szűrő](https://hub.hellowp.io/hu/plugins/jet-smart-filters/szurotipusok-rendezes/) fejezetben vannak.

## Elemek szűrése

Az ismétlő elemei a **Választógomb**, a **Jelölőnégyzetek listája**, a **Kiválasztás** és a **Vizuális** szűrővel szűrhetők, ha az **Adatforrás** a **JetEngine Query Builder**.

### Választógombos szűrő

1. Nyisd meg az **Intelligens szűrők → Új hozzáadása** oldalt, és add meg a **Szűrő neve** mezőt.
2. A típus legyen **Választógomb**, az **Adatforrás** **JetEngine Query Builder**, és válaszd ki az Ismétlő lekérdezést.
3. A **Property to get Value from**, a **Property to get Label from** és a **Query Variable** mezőbe írd az almező kulcsát (például `package_name`).
4. Kattints az **Update** gombra.

### Az oldal

1. Az egyedi bejegyzés sablonjában (két oszlop) a másodikba kerüljön a **Listing Grid** a listing elemmel, szükség esetén egyedi **CSS ID**-val.
2. Az elsőbe tedd a **Választógomb** szűrő widgetjét, és állítsd be:

| Beállítás | Érték |
| --- | --- |
| **Select filter** | az előbb létrehozott szűrő |
| **This filter for** | **JetEngine** |
| **Apply type** | **Page reload** |
| **Apply on** | **Click on apply button** |
| **Show apply button** | bekapcsolva |
| **Query ID** | a **Listing Grid** **CSS ID** értéke |

3. Mentsd az oldalt.

A nyilvános oldalon egy csomagnevet kiválasztva csak az a csomag jelenik meg.

## Gyakori kérdések

**Kell egyéni lekérdezés az ismétlő elemeinek szűréséhez vagy rendezéséhez?** Igen. A listing forrásának **Ismétlő lekérdezés** típusúnak kell lennie ahhoz, hogy az elemeket rendezni, szűrni és lapozni lehessen.

**Szűrhetők az ismétlő elemei az almezők értéke szerint?** Igen, a **Választógomb**, a **Jelölőnégyzetek listája**, a **Kiválasztás** és a **Vizuális** szűrővel, **JetEngine Query Builder** adatforrással.
