Szűrőopciók címkéje lekérdezésből: bejegyzéscímek és metaértékek
Kapcsolt bejegyzések címe vagy metamezőjének értéke a JetSmartFilters szűrő opciócímkéjeként, SQL/AI lekérdezéssel és Join táblákkal.
Ez az útmutató megmutatja, hogyan jelenítheted meg egyéni bejegyzéstípus bejegyzéseinek címét, illetve metamezőinek értékét a JetSmartFilters szűrő opcióinak címkéjeként. Az eredmény egy szűrő, amelyben a kapcsolt (child) bejegyzések címe vagy metaértéke az opció, és a kiválasztáskor a hozzá kapcsolódó szülő bejegyzések jelennek meg a listában.
Követelmények: Elementor, blokkszerkesztő, Bricks vagy Divi; aktív JetEngine két egyéni bejegyzéstípussal és köztük beállított kapcsolattal; aktív JetSmartFilters.
A példában „Ingatlan” és „Ügynök” bejegyzéstípus van, a kettő között egy-a-többhöz kapcsolattal (egy ingatlant több ügynök kezelhet). A kapcsolatban az Ingatlan a szülő (parent), az Ügynök a gyermek (child). A kapcsolatok létrehozását a Kapcsolatok áttekintése fejezet írja le.
Bejegyzéscímek a szűrőben
Szekció neve “Bejegyzéscímek a szűrőben”Itt az Ügynök bejegyzések címe a szűrő opciója. Egy ügynök kiválasztásakor az ő Ingatlan bejegyzései jelennek meg.
A lekérdezés
Szekció neve “A lekérdezés”- A JetEngine → Lekérdezéskészítő oldalon kattints az Új hozzáadása gombra.
- Add meg a nevet (például „Bejegyzéscímek szűrőben”), a típus legyen SQL/AI lekérdezés. Az Egyéni lekérdezés-ID-t kitöltheted a könnyebb azonosításért, de üresen is hagyhatod.
- Az egyéni SQL lekérdezés részben a From table listából válaszd a
jet_rel_defaulttáblát. - Kapcsold be a Use Join kapcsolót, és a megjelenő Join Tables blokkban kattints az Új hozzáadása gombra. A Join Type legyen „Inner Join”, a Join Table
posts. A When current table column mezőbeIDkerüljön, az Is equal to other table column mezőbechild_object_id. - A Where blokkban kattints az Új hozzáadása gombra: a Column legyen
jet_rel_default.rel.id, a Compare Egyenlő (=), a Value a kapcsolat azonosítója (a példában 102). - Mentsd a lekérdezést.
A szűrő
Szekció neve “A szűrő”- A Smart Filters → Add New oldalon hozz létre új szűrőt. A neve legyen például „Ingatlan-ügynök szűrő”, a típus Select.
- A Data Source legyen JetEngine Query Builder, a Select Query listából válaszd az előbbi lekérdezést.
- A Property to get Value from mezőbe
child_object_idkerüljön, a Property to get Label from mezőbepost_title. - Görgess a Query Variable mezőig, kattints a dinamikus címke ikonra, és válaszd a „JetEngine: filters parents items list by children IDs” opciót. A megjelenő ablakban válaszd ki a kapcsolatot. A mezőbe így kerül a szöveg:
related_parents:102, ahol arelated_parentsa makró neve, a 102 pedig a kapcsolat azonosítója. - Az összehasonlító operátor legyen Egyenlő (=), és mentsd a szűrőt.
Listing sablon és oldal
Szekció neve “Listing sablon és oldal”- A JetEngine → Listings/Components oldalon hozz létre listing sablont a szülő bejegyzéstípushoz (Ingatlan). Az Elementor szerkesztőben tegyél bele Dynamic Field (meta mezők) és Dynamic Image (kiemelt kép) widgetet, de tetszés szerint alakíthatod.
- Az oldalon a Listing Grid widget jeleníti meg a listát. Az oldalt oszd két oszlopra: a bal oszlopba a szűrő, a jobb oszlopba a lista kerül.
- Az előoldalon válassz egy szűrőopciót (ügynököt): a lista a hozzá kapcsolódó Ingatlan bejegyzéseket mutatja.
Metaértékek a szűrőben
Szekció neve “Metaértékek a szűrőben”Itt az Ügynök bejegyzések egy metamezőjének értéke az opciócímke. A kiválasztott érték szerint jelennek meg az Ingatlan bejegyzések.
A lekérdezés
Szekció neve “A lekérdezés”A lekérdezés beállításai megegyeznek az előzővel, kivéve a Join Tables és a Where blokkot:
- A Join Tables blokkban a Join Type „Inner Join”, a Join Table
postmeta, az Is equal to other table column értékechild_object_id. - A Where blokkban a Column legyen
postmeta.key, a Compare Egyenlő (=), a Value a metamező neve (a példábannote). - Mentsd a lekérdezést.
A szűrő
Szekció neve “A szűrő”A szűrő beállításai ugyanazok, mint az előzőnél, csak a Property to get Value from mezőbe meta_value kerül.
Próba
Szekció neve “Próba”Hozz létre listing sablont az Ingatlan bejegyzéstípushoz, helyezd el a szűrőt és a listát az oldalon, mentsd az oldalt, és próbáld ki az előoldalon: a szűrő a metaértékeket kínálja opcióként, és a lista a kiválasztott értékhez tartozó bejegyzéseket mutatja.
Gyakori kérdések
Szekció neve “Gyakori kérdések”Beállíthatok más kapcsolattípust is (például több-a-többhöz)? Igen, a munkamenet nem változik.
Milyen szűrőtípus használható? A példa Select szűrőt használ, de a jelölőnégyzet-lista (Checkboxes) és a Radio szűrő is használható.
Mit mutat a szűrő, ha a metamező üres? Az üres metamezőt nem jeleníti meg opcióként.
Használhatok különböző metamezőket különböző szűrőkhöz? Igen, minden szűrőt külön állíts be, és ahol kell, helyezd el.
Frissülnek a szűrőopciók automatikusan? Igen, a metaértékek módosításakor az adatok is frissülnek.
Az SQL/AI lekérdezés beállításairól lásd az SQL/AI lekérdezés fejezetet, a szűrők lekérdezésből való feltöltéséről a Szűrők a Lekérdezéskészítő forrásával fejezetet.
Készült: