ÉS/VAGY feltételek kombinálása SQL-lekérdezéssel
Két lekérdezés összekapcsolása egy SQL-lekérdezésben, hogy a lista csak bizonyos elemeket tartalmazzon, másokat pedig kizárjon.
Ha egy lista olyan elemeket mutasson, amelyek egy feltételcsoportból legalább egyet teljesítenek, és egy másik csoportból egyet sem, külön lekérdezéseket kell egyetlen SQL-lekérdezésben kombinálnod. Szükséges: Elementor (ingyenes), blokkszerkesztő vagy Bricks, és aktív JetEngine.
A példa Ingatlanok nevű egyedi bejegyzéstípus. Azokat jelenítjük meg, amelyeknél van „Kert” vagy „Tengerre néző”, de nincs „Medence”.
Metamező felvétele
Szekció neve “Metamező felvétele”- A JetEngine → Bejegyzéstípusok oldalon nyisd meg az Ingatlanok szerkesztőjét, görgess a Metamezők részhez, és kattints az Új metamező gombra.
- A Felirat legyen „Ingatlan jellemzők” (a Név/ID automatikusan kitöltődik), az Objektumtípus maradjon Mező, a mezőtípus Checkbox.
- A Forrás legyen Kézi bevitel, és az Új mezőopció gombbal vegyél fel opciókat: „Medence”, „Kert”, „Tengerre néző”, „Parkoló”, „Kisállat-barát”. Az Opció értéke csak kisbetűs latin betűt, számot, „-” és „_” jelet tartalmazhat (például
sea-view), az Opció felirata a megjelenő szöveg. Az Is checked (selected) kapcsolóval az opció alapból kijelölt lehet. - A tömbként mentés kapcsoló legyen bekapcsolva, majd kattints a Bejegyzéstípus frissítése gombra.
Listázási elem
Szekció neve “Listázási elem”- A JetEngine → Listázások/komponensek oldalon kattints az Új elem hozzáadása gombra.
- A listázási forrás maradjon Bejegyzések, válaszd ki a bejegyzéstípust, add meg az elem nevét és a szerkesztőt (Elementor), majd kattints a létrehozás gombra.
- Tegyél a sablonra dinamikus elemeket, például Dynamic Link és Dynamic Terms widgetet.
- A metamező értékeihez tegyél fel egy Dynamic Field widgetet: a Source legyen Meta Data, és válaszd ki a metamezőt. A Checkbox mező kimenetét egy visszahívással kell átalakítani, különben hibaüzenet látszik: kapcsold be a Filter field output kapcsolót, és válaszd például a Checkbox field values visszahívást (használható még a Multiple select field values és a Checked values list).
- Tedd közzé a sablont.
A bevonó lekérdezés
Szekció neve “A bevonó lekérdezés”- A JetEngine → Lekérdezéskészítő oldalon kattints az Új hozzáadása gombra.
- A neve legyen „Kert vagy tengerre néző”, a típus Bejegyzések lekérdezése. Az általános lapon válaszd az Ingatlanok bejegyzéstípust.
- A Meta lekérdezés lapon kattints az Új feltétel hozzáadása gombra. A Field key/name legyen a metamező neve (
property_features), a Compare értéke Like, a Value értékegarden. - Vegyél fel egy második feltételt
sea-viewértékkel. - A feltételek alatt a Relation értéke legyen Or: így a bejegyzés akkor kerül be, ha legalább az egyik opció ki van választva.
- Mentsd a lekérdezést.
A kizáró lekérdezés
Szekció neve “A kizáró lekérdezés”- Hozz létre új lekérdezést „Medence kizárása” névvel, Bejegyzések lekérdezése típussal, az Ingatlanok bejegyzéstípussal.
- A Meta lekérdezés lapon vegyél fel egy feltételt: Field key/name
property_features, Compare Not like, Valuepool. - Mentsd a lekérdezést.
Az SQL-lekérdezés
Szekció neve “Az SQL-lekérdezés”- Hozz létre új lekérdezést „Ingatlan jellemzők lekérdezés” névvel, a típus legyen SQL/AI lekérdezés.
- Az egyéni SQL-lekérdezés részben a From table értéke legyen posts, hogy a JetEngine szabványos bejegyzés-objektumokat kapjon.
- A Where (query clauses) részben kattints az Add new gombra. A Column legyen ID, a Compare In the list. A Value mező melletti Dynamic tag gombbal válaszd a Query Results címkét: a Query mezőben az első (bevonó) lekérdezést, a Return mezőben a List of items IDs értéket. Kattints az Apply gombra.
- Vegyél fel egy második feltételt: Column ID, Compare In the list, Value: Query Results a kizáró lekérdezéssel és ugyanazzal a List of items IDs visszatéréssel.
- A Where Relation értéke legyen And, hogy mindkét feltétel egyszerre érvényesüljön. Lent a Cast result to instance of object értéke legyen Post, hogy a Listing Grid szabványos bejegyzésként ismerje fel az eredményt, és helyesen jelenítse meg a kiemelt képet, a metamezőket és a jelölőnégyzet-értékeket.
- Mentsd a lekérdezést.
Oldal és ellenőrzés
Szekció neve “Oldal és ellenőrzés”- Szerkessz egy oldalt (vagy hozz létre újat), és tegyél rá egy Listing Grid elemet a listázási elemmel.
- Az Egyéni lekérdezés lapon kapcsold be az Egyéni lekérdezés használata kapcsolót, és válaszd ki az SQL-lekérdezést.
- Mentsd az oldalt, és nézd meg a frontenden: a lista a „Kert” és „Tengerre néző” opciójú elemeket mutatja, a „Medence” opciójúakat nem.
Készült: