# 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](https://hub.hellowp.io/hu/plugins/jet-engine/kapcsolatok-attekintes/) fejezet írja le.

## 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

1. A **JetEngine → Lekérdezéskészítő** oldalon kattints az **Új hozzáadása** gombra.
2. 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.
3. Az egyéni SQL lekérdezés részben a **From table** listából válaszd a `jet_rel_default` táblát.
4. 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őbe `ID` kerüljön, az **Is equal to other table column** mezőbe `child_object_id`.
5. 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).
6. Mentsd a lekérdezést.

### A szűrő

1. 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**.
2. A **Data Source** legyen **JetEngine Query Builder**, a **Select Query** listából válaszd az előbbi lekérdezést.
3. A **Property to get Value from** mezőbe `child_object_id` kerüljön, a **Property to get Label from** mezőbe `post_title`.
4. 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 a `related_parents` a makró neve, a 102 pedig a kapcsolat azonosítója.
5. Az összehasonlító operátor legyen **Egyenlő (=)**, és mentsd a szűrőt.

### Listing sablon és oldal

1. 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.
2. 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.
3. 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

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

A lekérdezés beállításai megegyeznek az előzővel, kivéve a **Join Tables** és a **Where** blokkot:

1. A **Join Tables** blokkban a **Join Type** „Inner Join”, a **Join Table** `postmeta`, az **Is equal to other table column** értéke `child_object_id`.
2. A **Where** blokkban a **Column** legyen `postmeta.key`, a **Compare** **Egyenlő (=)**, a **Value** a metamező neve (a példában `note`).
3. Mentsd a lekérdezést.

### 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

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

**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](https://hub.hellowp.io/hu/plugins/jet-engine/query-builder-sql-lekerdezes/) 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](https://hub.hellowp.io/hu/plugins/jet-engine/query-builder-szurok/) fejezetet.
