Dinamikus popup SQL-lekérdezéses listázáshoz
Foglalások listája a felhasználói profiloldalon, részletekkel egy dinamikus popupban, JetEngine SQL-lekérdezés forrással.
Ez a példa azt mutatja meg, hogyan jelenítheted meg a bejelentkezett felhasználó foglalásait a profiloldalán. A listázás csak a foglalás dátumát és a szolgáltatás nevét mutatja, a többi adat egy gombbal nyíló dinamikus popupba kerül. A listázás forrása egy JetEngine SQL-lekérdezés.
Követelmények
Szekció neve “Követelmények”- Elementor (az ingyenes változat elég) vagy a WordPress blokkszerkesztője.
- Aktív JetEngine és JetPopup bővítmény.
- A példához a JetAppointment bővítmény: fusson le a beállítóvarázslója, és vegyél fel néhány foglalást a WordPress vezérlőpultjáról.
1. Az SQL-lekérdezés
Szekció neve “1. Az SQL-lekérdezés”-
Nyisd meg a JetEngine → Lekérdezéskészítő oldalt, és kattints az Új hozzáadása gombra.

A képen az új lekérdezés űrlapja látszik: a Név és a Lekérdezés típusa mező itt adható meg.
-
Az Általános beállítások részben írd be a lekérdezés nevét, a Lekérdezés típusa legyen az SQL/AI Query.
-
Az egyéni SQL-lekérdezés részben a From table mezőben válaszd a
jet_appointmentstáblát. -
A Where (lekérdezési feltételek) fülön kattints az Új hozzáadása gombra.
-
Válaszd az
user_idoszlopot és az Equal (=) összehasonlítást. A Value mezőben kattints a pénzérmékből álló ikonra, és válaszd a Current User ID makrót. A típus legyen Numeric. Így a felhasználó csak a saját foglalásait látja. -
Az Order & Order By fülön az Add new sorting parameter gombbal rendezési szabályt adhatsz hozzá, akár többet is.
-
Ha készen vagy, kattints az Add/Update Query gombra.
2. A popup
Szekció neve “2. A popup”- Nyisd meg a JetPopup → Create New Popup oldalt.
- A tartalomtípus legyen Elementor vagy Block Editor. A nevet és az elrendezést megadhatod, majd kattints a Create gombra.
- Tedd a szerkesztőre a Dinamikus mező widgetet vagy blokkot. A Forrás legyen a bejegyzés, kifejezés, felhasználó vagy objektum adata (Post/Term/User/Object Data). Az objektummező (Object Field) listából bármelyik oszlopot kiválaszthatod.
- A Customize field output opcióval szöveget fűzhetsz az érték elé és mögé.
- Egyes oszlopokhoz be kell kapcsolnod a Filter field output opciót:
- dátum és idő megjelenítéséhez válaszd a Format date visszahívást, enélkül időbélyeg látszik;
- a szolgáltatás vagy a szolgáltató címéhez válaszd a Get post titles from IDs visszahívást, enélkül a bejegyzés azonosítója látszik.
- Blokkszerkesztőben a Dinamikus mező blokk beállításai ugyanezek.
- Elementorban kattints a bal alsó sarokban lévő beállítások ikonra, és kapcsold be a Loading content with Ajax és a Force Loading kapcsolót.
- Blokkszerkesztőben kattints a jobb felső sarokban a JetPopup ikonra, és ott kapcsold be ugyanezt a két kapcsolót.
- Kattints a Frissítés gombra.
3. A listázás
Szekció neve “3. A listázás”- Nyisd meg a JetEngine → Listázások/komponensek oldalt, és kattints az Új hozzáadása gombra.
- A listázáselem beállítóablakában a Listing source legyen a Query Builder, válaszd ki az elkészített lekérdezést, add meg a listázáselem nevét, a nézet legyen Elementor vagy Blocks (Gutenberg). Erősítsd meg a létrehozást.
- Tegyél a sablonra két Dinamikus mező widgetet vagy blokkot: az egyik a foglalás dátumát, a másik a szolgáltatás nevét mutatja. A Customize field output opcióval szöveget adhatsz az értékhez, a Format date és a Get post titles from IDs visszahívással pedig a dátum és a bejegyzéscím jelenik meg.
- Húzz a sablonra egy gombot: az alap WordPress Gombot, vagy a JetElements Gomb widgetét (csak Elementorban). Állítsd be a kinézetét.
- Elementorban nyisd meg a Speciális fület, és a JetPopup blokkban állítsd be: Csatolt felugró ablak = az elkészített popup, Indító típusa = Click on Button, és kapcsold be a Jet Engine Listing popup opciót.
- Blokkszerkesztőben a Speciális panelen a Csatolt felugró ablak az elkészített popup, az indító típusa Click, és kapcsold be a JetEngine Listing popup kapcsolót.
- Kattints a Frissítés gombra.
4. A foglalások a profiloldalon
Szekció neve “4. A foglalások a profiloldalon”- A JetEngine → Profile Builder oldalon kapcsold be a Single user page kapcsolót, és add meg az egyedi felhasználói oldalt. Mentsd a beállítást.
- Az Oldalak menüben nyisd meg szerkesztésre a profiloldalt Elementorban vagy a blokkszerkesztőben.
- Elementorban húzd az oldalra a Listázás rács widgetet, blokkszerkesztőben a Listing Grid blokkot, és válaszd ki az elkészített listázást.
- Kattints a Frissítés gombra.
A profiloldalon minden foglaláshoz egy gomb tartozik. A gombra kattintva megnyílik a dinamikus popup az adott foglalás további adataival. A második elem gombja a második foglalás adatait nyitja meg.
Készült: