Űrlapmezők feltöltése a Lekérdezéskészítővel
Select, Radio és Checkbox űrlapmezők opcióinak dinamikus feltöltése JetEngine-lekérdezésből: érték és címke megfeleltetése, három példa és gyakori kérdések.
A JetFormBuilder Select, Radio és Checkbox mezőinek opcióit a JetEngine Lekérdezéskészítő eredményéből töltheted fel. Így a lehetőségek a lekérdezett tartalomhoz igazodnak, nem kézzel kell karbantartani őket. Például a látogatók választhatnak egy egyedi bejegyzéstípus szerzői közül, egy felhasználói lekérdezésből szerepkörrel szűrt felhasználók közül, vagy egy WooCommerce-kategória termékei közül.
Követelmények: Elementor (ingyenes változat), blokkszerkesztő vagy Bricks, valamint a JetFormBuilder és a JetEngine telepítve és aktiválva.
A lekérdezés lekéri az adatot, az űrlapmező pedig megjeleníti. Ahelyett, hogy kézzel adnál meg opciókat, létrehozol egy lekérdezést, és a mezőt a találataihoz kötöd.
Érték és címke megfeleltetése
Szekció neve “Érték és címke megfeleltetése”A mezőnek tudnia kell:
- melyik lekérdezés a forrás;
- melyik tulajdonság legyen a beküldött érték (OPTION VALUE);
- melyik tulajdonság jelenjen meg a látogatónak (OPTION LABEL).
Ha például egy bejegyzés-lekérdezés az ID, post_title és post_author tulajdonságokat adja, az ID lehet az érték, a post_title a címke. A korábbi leírásokban szereplő egyetlen „Query ID|value|label” karakterlánc helyett a jelenlegi JetFormBuilder külön mezőkben kéri ezeket. A két mezőbe írt tulajdonságnak szerepelnie kell a lekérdezés kimenetében: a lekérdezés Eredmények előnézete kapcsolójával ellenőrizheted, milyen tulajdonságok érhetők el.
Közös menet
Szekció neve “Közös menet”- Készíts lekérdezést, amely a szükséges adatot adja.
- Ellenőrizd az eredményt az Eredmények előnézete kapcsolóval.
- Kösd a lekérdezést az űrlapmezőhöz.
- Add meg az opció értékét és címkéjét.
- Próbáld ki az előoldalon.
A mező beállítása mindhárom példában azonos:
- A FILL OPTIONS FROM listában válaszd a Generate Dynamically opciót.
- A GENERATOR FUNCTION listában válaszd a Get values list from JetEngine Query opciót.
- A QUERY ID mezőben válaszd ki a lekérdezést.
- Az OPTION VALUE mezőbe írd a beküldendő tulajdonságot (például
ID), az OPTION LABEL mezőbe a megjelenítendőt (példáulpost_title). - A CALCULATED FIELD üresen maradhat. Ezzel a lekérdezés egy további tulajdonságát csatolhatod az opciókhoz; a látogató nem látja.
Ha az OPTION VALUE vagy OPTION LABEL tulajdonsága nincs a lekérdezés kimenetében, a mező üres maradhat vagy hibás értéket mutat.
Az űrlapot a JetForm elemmel (Elementor), blokkal (blokkszerkesztő) vagy Bricks-elemmel illeszted az oldalra. Az űrlap rekordjait a JetFormBuilder → Form Records oldalon nézheted meg, ha a JetForm fül Post Submit Actions szakaszában felvetted a Save Form Record műveletet.
Példa 1: egyedi bejegyzéstípus (Radio mező)
Szekció neve “Példa 1: egyedi bejegyzéstípus (Radio mező)”Cél: a látogatók megszavazzák a könyvklub következő szerzőjét, a lista pedig csak a bestseller szerzőket tartalmazza.
Lekérdezés
- A JetEngine → Lekérdezéskészítő oldalon Új hozzáadása, név például „Is Bestselling Query”.
- A típus marad a Bejegyzések lekérdezése.
- A bejegyzés-lekérdezés blokkban válaszd ki a bejegyzéstípust (itt „Writers and Book Authors”).
- A Meta lekérdezés fülön Új hozzáadása: a mező neve
is_bestselling(a Radio típusú meta mező), az összehasonlítás Like, az értékyes, a típus Char. - Kapcsold be az Eredmények előnézete kapcsolót, és ellenőrizd, hogy vannak találatok. Mentsd a lekérdezést.
Űrlap
- A JetFormBuilder → Add New Form oldalon adj nevet az űrlapnak. Töröld az automatikusan elhelyezett Welcome Blockot.
- Tegyél be egy kötelező Text Field mezőt „Your name” címkével, és egy másik kötelezőt „Email” címkével, amelynek a FIELD TYPE értéke Email (a Field fülön).
- Adj hozzá egy kötelező Radio Field mezőt „Choose an author” címkével, és állítsd be a fenti közös menet szerint: az OPTION VALUE
ID, az OPTION LABELpost_title. - Tegyél alá egy nem kötelező Textarea Field mezőt „Leave us a message” címkével, majd egy Action Button blokkot az alapértelmezett „Submit” felirattal.
- A JetForm fül Post Submit Actions szakaszában az New Action gombbal add hozzá a Save Form Record műveletet. Mentsd az űrlapot.
- Illeszd az űrlapot egy oldalra a JetForm elemmel (a Select Form listában válaszd ki).
Az előoldalon a Radio mező a bestseller szerzőket kínálja. Beküldés után sikerüzenet jelenik meg, a rekord pedig a Form Records oldalon látszik.
Példa 2: felhasználók (Select mező)
Szekció neve “Példa 2: felhasználók (Select mező)”Cél: olvasókörhöz csatlakozáskor a látogató kiválaszt egy moderátort. A lista szerepkör és meta mező szerint szűrt felhasználókból áll.
Lekérdezés
- Új lekérdezés „Query by Moderator” névvel, Felhasználók lekérdezése típussal.
- A Felhasználói szerepkör fülön a Szerepkör legyen „Moderator” (a szerepkör előre létrejött; bármely meglévő szerepkör használható).
- A Meta lekérdezés fülön Új hozzáadása: a mező neve
club_activities, az összehasonlítás Like, az értékoffline_events(a meta mező opciójának kulcsa). Így csak azok a moderátorok maradnak, akik offline eseményeket szerveznek. - Az Eredmények előnézete kapcsolóval ellenőrizd az eredményt. Ha nincs találat, nézd meg, hogy van-e a szerepkörhöz rendelt felhasználó, akinél a meta mezőben az opció ki van választva. Mentsd.
Űrlap
- Új űrlap „Join a reading group” névvel, Welcome Block nélkül.
- Kötelező „Your name” Text Field és „Email” (Email típusú) Text Field.
- Kötelező Select Field: FIELD LABEL „Choose a group moderator”, FORM FIELD NAME
group_moderator. Beállítás a közös menet szerint, az OPTION VALUEID(minden felhasználónak van azonosítója), az OPTION LABELdisplay_name(a felhasználóbarát név). További felhasználói tulajdonságokat az Eredmények előnézete mutat. - Nem kötelező „Leave us a message” Textarea Field, Action Button „Submit” felirattal, majd a Save Form Record művelet.
Az előoldalon a legördülő lista csak a „Moderator” szerepkörű, offline eseményeket szervező felhasználókat tartalmazza.
Példa 3: WooCommerce-termékek (Checkbox mező)
Szekció neve “Példa 3: WooCommerce-termékek (Checkbox mező)”Cél: a látogatók kiválasztják, mely könyveket beszéljék meg egy sci-fi olvasókörben. A lista a „Science Fiction” kategória termékeiből áll, és új termék felvételekor magától bővül, az űrlapot nem kell módosítani.
Lekérdezés
- Új lekérdezés „Query by Science Fiction” névvel, Bejegyzések lekérdezése típussal. (Itt bejegyzés-lekérdezést használunk a „Products” bejegyzéstípussal, mert ez a szokásos WordPress-tulajdonságokat, például
IDéspost_title, adja, és ezek közvetlenül megfeleltethetők a mezőbeállításokban.) - Az Általános fülön válaszd a „Products” bejegyzéstípust.
- A Tax Query fülön a Tax Query Clauses blokkban Új hozzáadása: a taxonómia „Product categories”, a mező Slug, a kifejezések
science-fiction. Csak az ebbe a kategóriába tartozó termékek maradnak. - Ellenőrizd az Eredmények előnézete kapcsolóval, és mentsd.
Űrlap
- Új űrlap „Join a Science Fiction Book Club” névvel, Welcome Block nélkül.
- Kötelező „Your name” és „Email” (Email típusú) Text Field.
- Kötelező Checkbox Field: FIELD LABEL „Which books would you like to discuss?”, FORM FIELD NAME
books. Beállítás a közös menet szerint, az OPTION VALUEID, az OPTION LABELpost_title. - „Your message” Textarea Field, Action Button „Submit” felirattal, Save Form Record művelet.
Az előoldalon a Checkbox mező a kategória termékeit kínálja.
Gyakori kérdések
Szekció neve “Gyakori kérdések”- Üres a Select mező, pedig a lekérdezés ad találatot. Miért? Ellenőrizd, hogy a mezőben a jó lekérdezés van kiválasztva, és hogy az OPTION VALUE és az OPTION LABEL tulajdonsága megegyezik a lekérdezés kimenetével.
- Honnan tudom, milyen tulajdonságneveket adjak meg? Nyisd meg a lekérdezést, és kapcsold be az Eredmények előnézete kapcsolót: a visszaadott adatszerkezet mutatja a neveket.
- Használhatok SQL-lekérdezést? Igen, de az SQL által visszaadott oszlopneveknek egyezniük kell az OPTION VALUE és OPTION LABEL mezőkben megadott tulajdonságokkal.
- Kapcsolat (Relation) alapú lekérdezés használható? Igen, ha a lekérdezés visszaadja a szükséges tulajdonságokat.
- Hogyan frissül a lista, ha változik az egyedi bejegyzéstípus tartalma? Automatikusan. Ha mégsem, ürítsd a weboldal gyorsítótárát, és ellenőrizd az előnézetet.
Készült: