# Dinamikus widgetek a JetEngine Query Builderrel

> A Fülek, Diavetítés, Vélemények és Függőleges idővonal widgetek bejegyzésekkel és kifejezésekkel való feltöltése a JetEngine lekérdezéseivel.

A JetElements és a JetTabs widgetjei alapból statikusak: a tartalmukat kézzel írod be. A JetEngine **Query Builder** moduljával dinamikussá tehetők, vagyis a bejegyzések, meta mezők, kapcsolatok vagy egyéni lekérdezések találataival töltődnek fel. Így kevesebb a kézi munka, és az adatok az egész webhelyen egységesen jelennek meg.

## Követelmények

- JetEngine bővítmény, aktiválva.
- JetElements bővítmény, aktiválva.
- JetTabs bővítmény, aktiválva (a Fülek példákhoz).

## Fülek bejegyzésekkel

Ha a **Fülek** widgetben meghatározott bejegyzéseket szeretnél dinamikusan megjeleníteni:

1. A **JetEngine → Query Builder** oldalon kattints az **Új hozzáadása** gombra, és hozz létre egy lekérdezést: adj neki nevet, a **Típus** legyen a bejegyzéslekérdezés (**Posts Query**), válaszd ki a kívánt tartalomtípust, és az állapotot (közzétett).
2. A **Post & Page** lapon kattints a **Posts In** mező melletti dinamikus címke ikonra, és válaszd az **Aktuális azonosító** (Current ID) értéket. Mentsd a lekérdezést.
3. A **JetEngine → Listings/Components** oldalon vegyél fel egy új elemet, és építsd meg a listázási sablont, amely a fülek belsejében fog megjelenni. Tedd közzé.
4. Az Elementor sablonjai között hozz létre egy új sablont **Oldal** típusúként, és add neki a nevét.
5. A sablonba húzd be a **Listing Grid** widgetet, és az **Általános → Listing** mezőben válaszd ki a most elkészített listázást.
6. Nyisd meg az **Egyéni lekérdezés** lapot, kapcsold be az **Egyéni lekérdezés használata** kapcsolót, és válaszd ki az első lekérdezést. Itt a lista „No data was found” üzenetet mutathat; ez ebben a lépésben rendben van. Mentsd a sablont.
7. Hozz létre még egy bejegyzéslekérdezést ugyanahhoz a tartalomtípushoz. Ebben adhatod meg, mely bejegyzések jelenjenek meg a füleken: a példában a bejegyzéseket azonosítójuk szerint a **Post & Page → Post In** mezőben adtuk meg. Mentsd.
8. Menj arra az oldalra, ahol a füleket meg akarod jeleníteni, és add hozzá a **Fülek** widgetet. Kapcsold be a **JetEngine lekérdezés használata** kapcsolót, és a **Select Query** mezőben válaszd ki az utoljára létrehozott lekérdezést.
9. Hagyd meg az egyetlen elemet. A **Tartalom típusa** legyen **Sablon**, a **Sablon kiválasztása** mezőben pedig válaszd ki a létrehozott sablont.
10. Tedd közzé az oldalt, és nézd meg a frontenden: a fülek a kiválasztott bejegyzésekkel jelennek meg.

## Fülek kifejezések szerint csoportosított bejegyzésekkel

Így jelenítheted meg a kifejezések (például kategóriák) szerint csoportosított bejegyzéseket a füleken:

1. A **JetEngine → Query Builder** oldalon hozz létre egy bejegyzéslekérdezést, és az **Általános** lapon válaszd ki a tartalomtípust.
2. A **Tax Query** lapon kattints az **Új hozzáadása** gombra. Válaszd ki az osztályozást (taxonomy), a **Field** mezőben a **Term ID** értéket, a **Terms** mező melletti dinamikus címke ikonnal a **Queried term** (lekérdezett kifejezés) értéket, a **Compare** műveletnél pedig az **IN** értéket. Kattints a **Lekérdezés hozzáadása** gombra.
3. A **JetEngine → Listings/Components** oldalon készíts listázási sablont, és mentsd.
4. Hozz létre egy Elementor sablont a fülek tartalmának. Add hozzá a **Listing Grid** widgetet, alkalmazd rá a listázást és a fenti lekérdezést, majd mentsd.
5. Hozz létre egy kifejezéslekérdezést (**Terms Query**): a **JetEngine → Query Builder** oldalon adj nevet, válaszd a **Terms Query** típust, az **Általános** lapon az osztályozást, és mentsd.
6. Az oldalon add hozzá a **Fülek** widgetet, kapcsold be a **JetEngine lekérdezés használata** kapcsolót, és válaszd ki a kifejezéslekérdezést.
7. Hagyd meg az egyetlen elemet. A fülek nevei a kifejezések nevei legyenek: a **Címke** (Label) mező melletti dinamikus címke ikonnal válaszd ki a **Term Field** (kifejezés mezője) értéket, a megnyíló ablakban az osztályozást, és mezőként a **Term name** értéket.
8. A **Tartalom típusa** legyen **Sablon**, és válaszd ki a létrehozott sablont. Mentsd az oldalt.

A frontenden a bejegyzések kifejezések szerinti fülekre bontva jelennek meg.

## Fülek szülő és gyermek kifejezésekkel

A szülő kifejezések a fülek nevei, a gyermek kifejezések a fülek tartalma.

1. Hozz létre egy kifejezéslekérdezést (**Terms Query**), és az **Általános** lapon válaszd ki az osztályozást.
2. A **Parent/Child** lapon a **Parent** mező melletti dinamikus címke ikonnal válaszd a **Queried term** értéket, és kattints a **Lekérdezés hozzáadása** gombra.
3. A **JetEngine → Listings/Components** oldalon vegyél fel egy listázási sablont a gyermek kifejezéseknek, és tedd közzé.
4. Az Elementorban hozz létre egy **Oldal** típusú sablont, amelyben a **Listing Grid** widget a most elkészített listázást használja, és a kifejezéslekérdezést alkalmazza.
5. Hozz létre még egy kifejezéslekérdezést ugyanahhoz az osztályozáshoz. Az **Általános** lapon add meg a nevet, a típust és az osztályozást, a **Parent/Child** lapon pedig írj `0`-t a **Parent** mezőbe (így csak a legfelső szintű kifejezések jönnek). Kattints a **Lekérdezés hozzáadása** gombra.
6. Az oldalon add hozzá a **Fülek** widgetet, kapcsold be a **JetEngine lekérdezés használata** kapcsolót, és válaszd ki az utolsó kifejezéslekérdezést.
7. Hagyd meg az egyetlen elemet. A **Címke** mező melletti dinamikus címke ikonnal válaszd a **Term Field** értéket, és a megnyíló ablakban az osztályozást és a **Term name** mezőt.
8. A **Tartalom típusa** legyen **Sablon**, és válaszd ki a létrehozott sablont. Mentsd az oldalt.

A frontenden a szülő kifejezések a fülek nevei, a fülek tartalmában pedig a gyermek kifejezések látszanak.

## Diavetítés bejegyzésekkel

1. A **JetEngine → Query Builder** oldalon hozz létre egy bejegyzéslekérdezést (**Posts Query**), és az **Általános** lap **Post Type** mezőjében válaszd ki a kívánt tartalomtípust. Ha kell, adj hozzá további beállításokat, és mentsd.
2. Az oldalon add hozzá a **Diavetítés** widgetet, kapcsold be a **JetEngine lekérdezés használata** kapcsolót, és válaszd ki a lekérdezést.
3. Hagyd meg az egyetlen elemet. A bejegyzések adatainak megjelenítéséhez kattints a megfelelő mező melletti dinamikus címke ikonra, és válaszd ki az **Egyéni mező** (Custom Field) értéket, majd a kívánt mezőt.
4. Tedd közzé az oldalt, és ellenőrizd a frontenden: a kiválasztott bejegyzések dinamikusan töltődnek be a diavetítésbe.

## Vélemények bejegyzésekkel

1. A **JetEngine → Query Builder** oldalon hozz létre egy bejegyzéslekérdezést a kívánt tartalomtípushoz (például az ügyfélvélemények tartalomtípusához), és mentsd.
2. Az oldalon add hozzá a **Vélemények** widgetet, kapcsold be a **JetEngine lekérdezés használata** kapcsolót, és válaszd ki a lekérdezést.
3. Hagyd meg az egyetlen elemet. Minden kitöltendő mező mellett kattints a dinamikus címke ikonra, válaszd az **Egyéni mező** értéket, és a kívánt mezőt.
4. Mentsd a módosításokat, és nézd meg a frontenden.

## Függőleges idővonal bejegyzésekkel

1. A **JetEngine → Query Builder** oldalon hozz létre egy bejegyzéslekérdezést a kívánt tartalomtípushoz, szükség esetén állíts be további paramétereket, és kattints a **Lekérdezés hozzáadása** gombra.
2. Nyisd meg az oldalt az Elementorban, és keresd meg a **Függőleges idővonal** widgetet.
3. A widget **Kártyák** lapján kapcsold be a **JetEngine lekérdezés használata** kapcsolót, és válaszd ki a lekérdezést.
4. Hagyd meg egyetlen kártyát, a többit töröld. Ez a kártya lesz a sablon a dinamikusan betöltött elemekhez.
5. A bejegyzések adatainak betöltéséhez a widget mezőinél kattints a dinamikus címke ikonra, válaszd az **Egyéni mező** értéket, és a szükséges meta mezőt.
6. Kattints a **Közzététel** gombra, és nézd meg az oldalt a frontenden.
