# A Dynamic Field elem beállításai és visszahívásai

> A JetEngine Dynamic Field elemének (widget és blokk) beállításai, a Filter field output visszahívásai, és hol illeszkedik közéjük a csatolmány-hivatkozás.

A **Get attachment file link by ID** visszahívás a JetEngine **Dynamic Field** elemén belül dolgozik. Ez a fejezet azt foglalja össze, hogyan épül fel az elem, és milyen más visszahívások közül választhatsz mellette. Magáról a csatolmány-visszahívásról az [áttekintés](https://hub.hellowp.io/hu/plugins/jet-engine-attachment-link-callback/) szól részletesen.

A Dynamic Field egy meta mező (vagy más adatforrás) értékét jeleníti meg. Ezeket a mezőtípusokat tudja kiírni: szöveg, dátum, idő, dátum és idő, szövegdoboz, WYSIWYG, kapcsoló, jelölőnégyzetek, ikonválasztó, média, galéria, rádiógomb, ismétlő (repeater, csak az Elementor-elemben), legördülő lista, szám, színválasztó, bejegyzések, HTML és térkép (a két utolsó szintén csak az Elementor-elemben). A blokkszerkesztős blokk a szövegtől a bejegyzésekig terjedő típusokat ismeri.

> **Megjegyzés**
>
> A leírt beállítások a használt szerkesztőtől függően kissé eltérhetnek. A blokk beállításai három részre oszlanak: Általános, Elrendezés és Stílus.

## Tartalom (Elementor) és általános beállítások (blokk)

| Beállítás | Mit csinál |
| --- | --- |
| **Source** | Honnan jöjjenek az adatok (lásd az alábbi listát). |
| **Field Icon** (blokkban **Field Icon/Image**) | Ikon a mező elé: a könyvtárból, SVG-fájlként, a blokknál a médiatárból. |
| **HTML Tag** (blokkban **Field tag**) | Milyen HTML-elembe kerüljön a mező: DIV (konténer), H1-H6 (címsor), P (bekezdés), SPAN (szövegen belüli elem). |
| **Hide if value is empty** | Elrejti a mezőt, ha nincs kitöltve. |
| **Fallback** | Az ürességkor megjelenő szöveg. Elrejtés helyett ez látszik. |
| **Filter field output** | Bekapcsolva megjelenik a **Callback** választó (lásd lent). |
| **Customize field output** | Szöveget fűzhetsz az érték elé és mögé. A `%s` az érték helye. |
| **Context** | Melyik objektum adataiból dolgozzon (lásd lent). A blokknál nincs ilyen választó. |
| **Expected Display** (csak blokk) | **Inline**: az egész szöveg egy sorban; **Multiline**: több sorban. |

> **Figyelem**
>
> Ha ugyanazt az értéket többször akarod beszúrni a **Customize field output** mezőben, `%s` helyett a `%1$s` jelölést használd.

![A blokkszerkesztő Dynamic Field blokkjának oldalsávja a bekapcsolt Filter field output kapcsolóval és a Callback választóval](./kepek/szerkeszto-visszahivas.webp)

*A blokkszerkesztő Dynamic Field blokkjának oldalsávja a bekapcsolt Filter field output kapcsolóval és a Callback választóval* (https://minta-bolt.hu/wp-admin/post.php?post=9&action=edit)

A képen a **Filter field output** kapcsoló és a **Callback** lista látszik.

### Source: az adatforrás

- **Post/Term/User/Object Data**: a bejegyzés, kategória, felhasználó vagy más objektum alapmezői (például azonosító, létrehozás dátuma, szerző). A pontos mezőt az **Object Field** listában választod.
- **Meta Data**: a JetEnginenel létrehozott meta mezők. A **Meta Field** listából választod, vagy a **Custom meta field/repeater key** mezőbe beírod a kulcsot.
- **Query Variable** (csak Elementor): az URL paraméterének értékét írja ki. A keresési oldalon a **Variable Name** értéke `s`.
- **Options**: a beállítási oldalakhoz létrehozott meta mezők.
- **Relation Hierarchy**: a kapcsolódó bejegyzések mezői. A **Get** listában a kapcsolat irányát, a **From Post Type** listában a bejegyzéstípust adod meg.
- **Relation Meta Data**: a kapcsolatokhoz létrehozott meta mezők.
- **API Data** (csak Elementor): az aszinkron listázás modullal együtt érhető el, a JSON-válasz értékeit jeleníti meg, hogy kevesebb szerveroldali renderelés kelljen.

### Context: a környezet (Elementor)

- **Default Object**: az aktuális oldal vagy listingsablon adatai.
- **Current User (global)**: annak a felhasználónak az adatai, akinek az oldal készült.
- **Current User (for current scope)**: az éppen feldolgozott felhasználó. Egy felhasználói listában arra a felhasználóra mutat, akire rákattintottál, nem a bejelentkezettre.
- **Queried User**: a bejelentkezett felhasználó, vagy az URL-ben megadott azonosítójú felhasználó.
- **Current Post Author**: a megnyitott bejegyzés szerzője.
- **Default WordPress Object (for current page)**: mindig az oldal globális WordPress-objektuma. Egyedi bejegyzésoldalon ez a bejegyzés akkor is, ha az oldalon listing van.
- **Current CCT item author**: a megnyitott egyedi tartalomtípus-elem szerzője, a CCT listingsablonjában használható.
- **Related Items From…**: a létrehozott kapcsolat adatai.

## A Filter field output visszahívásai

A **Filter field output** bekapcsolása után a **Callback** listából választhatod ki, hogyan alakuljon át az érték. A lista az alábbi csoportokra bontható. Az, hogy melyik tétel szerepel a listában, a JetEngine beállításaitól és a telepített kiegészítőktől függ.

### Dátum, idő, dátum és idő

- **Format date**: az adatbázisból kiolvasott dátumot a **Format** mezőben megadott formátumban írja ki.
- **Format date (localized)**: ugyanez, de a honlap nyelvére lefordítva.
- **Human readable time difference**: a dátum és a mai nap közti különbséget adja napokban. Az **Additional meta key** mezőbe másik meta mező nevét írva a két mező közti különbséget mutatja (például kezdő és záró dátum között).

### Bejegyzések, kategóriák, URL-ek

- **Get post/page title**: a bejegyzés vagy oldal címe, ha az **Object Field** értéke a bejegyzés azonosítója.
- **Get post/page URL**: a bejegyzés webcíme.
- **Get post/page link**: a bejegyzés címe hivatkozásként.
- **Get post/page thumbnail**: a bejegyzés kiemelt képe. Megadhatod a kép méretét, és az **Add permalink** kapcsolóval a képre kattintva a bejegyzésre jutsz.
- **Get term name**, **Get term URL**, **Get term link**: a kategória (címke) neve, webcíme, illetve neve hivatkozásként. Az **Object Field**-nek a kategória azonosítóját kell adnia.
- **Add URL scheme**: URL-sémát (például `mailto:`) ad az érték elé, a **Select URL scheme** listából.
- **Embed URL**: a mezőben lévő URL tartalmát beágyazza az oldalra, például egy YouTube-videót.
- **Make clickable**: az egyszerű szövegként megjelenő URL-t kattintható hivatkozássá alakítja.

### Szám

- **Format number**: a tizedesjelet, az ezreselválasztót és a tizedesjegyek számát te adod meg.
- **Zeroise (add leading zeroes)**: nullákat tesz a szám elé. A **Threshold** a kívánt számjegyek száma: ha 5 az érték, a kétjegyű számhoz három, a négyjegyűhöz egy nulla kerül.
- **Proportional**: a szám arányát számítja ki. Az értéket elosztja a **Divisor**, megszorozza a **Multiplier** mezőben adott számmal, a **Result precision** a tizedesjegyek száma. A két mezőhöz dinamikus címkével JetEngine-es számmezőt is köthetsz.
- **Calculated field**: számtani műveletek az értékkel. Külön kiegészítő bővítmény adja.
- **Phone Number Format**: telefonszám vagy kártyaszám maszkolása. Szintén külön kiegészítő adja.

### Legördülő lista, rádiógomb, jelölőnégyzet, kapcsoló

- **Multiple select field values**: a többszörös választású lista kiválasztott értékei, **Delimiter** elválasztóval. A listában több érték kijelöléséhez a **JetEngine → Bejegyzéstípusok** szerkesztőjében kapcsold be a **Multiple** beállítást.
- **Get child element from object/array**: jelölőnégyzeten és listán működik, a megadott elem értékét adja vissza. Ha a „2” opciót jelölted ki, és a visszahívásnál is „2”-t adtál meg, az eredmény „true”.
- **Get labels by glossary data**: a szójegyzék (glossary) címkéit jeleníti meg rádiógomb, lista és jelölőnégyzet mezőnél.
- **Checkbox field values**: a kijelölt értékek egy sorban, **Delimiter** elválasztóval.
- **Checked values list**: a kijelölt értékek listában. Megadhatod a szójegyzéket, az oszlopok számát, bekapcsolhatod az **Add divider between items** kapcsolót, és beállíthatod az elválasztó színét.
- **ACF Checkbox field values**: az ACF bővítménnyel létrehozott jelölőnégyzet-mezők értékei.
- **Switcher field values**: a kapcsoló mező értékei.

### Média és galéria

- **Get Image by ID**: a szám helyett a médiatárban lévő képet jeleníti meg, megadott mérettel.
- **Get attachment file link by ID**: ezt a bővítmény adja. PDF, ZIP és más fájlok letöltési hivatkozását írja ki a média mezőből. A **Display name** választható értékei: **File name**, **Attachment post title**, **Current post title**, **Parent post title**, **Custom**. A **Parent post title** használatához a **JetEngine → Bejegyzéstípusok** szerkesztőjében a **Haladó beállítások** között kapcsold be a **Hierarchical** beállítást, majd a bejegyzések listájában a **Gyorsszerkesztés** gombbal add meg a szülőt.
- **Images Gallery Grid** és **Images Gallery Slider**: a galéria mező képeit rácsban, illetve csúszkában mutatja. Beállítható az oszlopok száma, a képméret és a **Use lightbox** kapcsoló (teljes méretű kép megnyitása). Mindkettő a JetEngine **Modulok** oldalán kapcsolható be.

### Ikonválasztó, szöveg, szövegdoboz

- **Embed icon from Iconpicker**: az ikon azonosítója helyett magát az ikont jeleníti meg.
- **Add paragraph tabs (wpautop)**: bekezdéseket készít a szövegdoboz sortöréseiből.
- **Trim string by charts or words**: a szöveget a megadott hosszúságra vágja. Külön modulként kapcsolható be a JetEngine **Modulok** oldalán.

### Bejegyzések mező és kapcsolatok

- **Get post titles from IDs**: a kiválasztott bejegyzések címei.
- **Related posts list**: ugyanezek listában. A **Single value** kapcsoló csak az elsőt mutatja, az **Add links to related posts** hivatkozást ad, a **Related list HTML tag** lehet UL (felsorolás), OL (számozott lista) vagy DIV (egy sor), és megadhatsz **Delimeter** elválasztót.
- **Field values count**: a kiválasztott bejegyzések száma.
- **Related items list**: a kapcsolódó elemek (bejegyzés, kategória, CCT vagy felhasználó) listája. A forrás a **Post/Term/User/Object Data**, az **Object Field**-ben a **Related items for current object** csoportból választasz. A lista beállításai ugyanazok, mint a **Related posts list**-nél.

### Egyéb

- **Do shortcodes**: a mezőben lévő shortcode-ot feldolgozza ahelyett, hogy szövegként írná ki.
- **Listing’s counter**: a listingelemeket számozza. Külön kiegészítő adja, és egyedi lekérdezést igényel a Listing Grid elemnél; beágyazott listingnél a **Parent Counter** kapcsolóval a szülő számlálót is használhatod.
- **QR Code**: bármely meta mező értékét QR-kódként jeleníti meg, a méretet a **QR Code Size** adja meg. A JetEngine **Modulok** oldalán kell bekapcsolni.

A blokkszerkesztős blokk listája rövidebb: nincs benne például a bélyegképet, az URL-sémát, az arányszámítást és a kapcsolatlistát adó visszahívás.

## Stílus (blokk)

A blokk megjelenését a **Block Style** gombbal nyíló lapon állíthatod, ez a JetStyleManager általános blokkstílus-beállításait használja.

Tipp: a **Customize field output** mezőbe makrókat is írhatsz; ezekről a [Makrók](https://hub.hellowp.io/hu/plugins/jet-engine-attachment-link-callback/visszahivas-makrok/) fejezet szól.
