# Űrlapbeküldések listázása

> A JetFormBuilder beküldési rekordjainak lekérdezése és megjelenítése Listing Griddel: szűrők, mezőértékek, dinamikus címkék.

A Lekérdezéskészítővel és egy listázási sablonnal a JetFormBuilder űrlapbeküldéseit (dátum, összeg és más adatok) a frontenden is megjelenítheted, így a felhasználók látják a saját beküldéseiket. Előfeltétel az Elementor (az ingyenes változat elég) vagy a blokkszerkesztő, az aktív JetEngine és a JetFormBuilder olyan űrlappal, amelyben szerepel az **Űrlaprekord mentése** művelet (Store Form Record).

## A beküldési rekordok lekérdezése

1. A **JetEngine → Lekérdezéskészítő** oldalon kattints az **Új hozzáadása** gombra.
2. Add meg a **Nevet**, a **Lekérdezés típusa** legyen **JetFormBuilder Records**.

A **JetFormBuilder Records Query** fülön ezek a beállítások vannak:

| Beállítás | Mit csinál |
|---|---|
| **Form** | Egy vagy több űrlap, amelynek rekordjait mutatod. Csak olyan űrlap választható, amelyben van **Store Form Record** művelet. |
| **User** | Egy felhasználó azonosítója. Lekérdezésenként egy azonosító adható meg. Üresen hagyva minden felhasználó rekordja látszik. A makró gombbal a **Current User ID** (az aktuális felhasználó) vagy a **Queried User ID** (a Profile Builder oldalán megtekintett felhasználó) makrót is választhatod. |
| **Status** | A beküldés állapota: **Any**, **Success** vagy **Failed**. |
| **Date Query** | Időszakra szűkíti az eredményt: **Before Date**, **After Date** vagy **Between Dates**. A **From Date** mezőbe pontos dátumot vagy szöveges kifejezést írhatsz („today”, „today - 7 days”). |

A **Query by Fields Values** fülön az **Add New** gombbal mezőérték szerint is szűrhetsz:

- **Form field**: az űrlapmező neve (nem a címkéje).
- **Compare**: az összehasonlítás módja. Lehet **Equal**, **Not Equal**, **Greater than**, **Greater or equal**, **Less than**, **Less or equal** (a nagyobb/kisebb csak számra működik), **Like**, **Not like**, **In the list**, **Not in the list**, **Between**, **Not between**, **Exist** és **Not exist** (ezeknél nem kell érték), **Regexp**, **Not regexp**.
- **Value**: az az érték, amellyel az összehasonlítás történik.
- **Type**: a mező adattípusa. **Char** (betűk, kis- és nagybetűre nem érzékeny), **Numeric** (egész számok), **Date**, **Datetime**, **Decimal** (törtszám), **Time**, **Binary** (kis- és nagybetűre érzékeny), **Signed** (pozitív és negatív egész), **Unsigned** (csak pozitív egész).

Végül két további beállítás:

- **Show/Per Page Limit**: egyszerre hány elem látszik a Listing Gridben. JetSmartFilters lapozóval ez az oldalankénti elemszám.
- **Offset**: hány elemet hagyjon ki az elejéről. Nem működik, ha a **Show/Per Page Limit** üres.

Mentsd a lekérdezést az **Add/Update Query** gombbal.

## A listázási sablon

1. A **JetEngine → Listázások/komponensek** oldalon kattints az **Új elem hozzáadása** gombra. A **Listing source** legyen **Query Builder**, válaszd ki a lekérdezést, add meg a nevet, a nézet pedig legyen **Elementor** vagy **Blocks (Gutenberg)**. Kattints a **Create Listing Item** gombra.

### Általános rekordadatok

A **Dynamic Field** widget vagy blokk **Source** mezője legyen **Post/Term/User/Object Data**, az **Object Field** listában pedig a **JetFormBuilder** szakaszból válaszd ki az adatot. A blokkszerkesztőben ugyanez a beállítás.

### Űrlapmezők értéke Dynamic Fielddel

1. Az **Object Field** listában válaszd a **Form Fields** elemet.
2. Kapcsold be a **Filter field output** kapcsolót, és válaszd a **Get child element from object/array** visszahívást.
3. A **Child item name** mezőbe írd az űrlapmező nevét (a nevet, nem a címkét).

Ha a **Multiple select field values** visszahívást választod, az összes mezőérték megjelenik. Vigyázz vele: sok mezős űrlapnál túlterhelheti az oldalt. Ajánlott egy Dynamic Fielddel egy mezőértéket kiírni.

### Űrlapmezők értéke dinamikus címkével

1. Húzz be **Heading** vagy **Text Editor** widgetet, és kattints a **Dynamic Tag** gombra.
2. Válaszd a **JetFormBuilder Record Field** címkét, és add meg a **Field Name** értékét.

A blokkszerkesztőben húzd be a **Heading** blokkot, kattints a **Dynamic Content** gombra, majd a **Content** elemre. A **Data Source** fülön a forrás legyen **Custom Data**, a **Select data to show** értéke **JetFormBuilder Record Field**, és írd be a **Field Name** mezőt.

Végül tedd közzé vagy frissítsd a sablont.

## A lista az oldalon

1. Szerkeszd az oldalt Elementorban vagy a blokkszerkesztőben, húzd be a **Listing Grid** widgetet vagy blokkot, és válaszd ki a sablont.
2. Tedd közzé az oldalt, és nézd meg a frontenden: a beküldési rekordok listája látszik.
