# Shortcode- és makrógenerátor

> JetEngine-adatok és feltételek beillesztése rövidkódként, valamint makrók előállítása.

## Shortcode-generátor

A **JetEngine → JetEngine → Shortcode-generátor** fülön a JetEngine-hez kapcsolódó értékekből rövidkódot (shortcode) készíthetsz, amelyet a tartalomban bárhol megjeleníthetsz. Feltételes rövidkódot is generálhatsz, amelyet szövegszerkesztőben vagy Bricksben használhatsz.

Ha a **Dinamikus láthatóság** modul be van kapcsolva, a **Rövidkód** listában két tétel választható: **JetEngine Data** (alapértelmezett) és **JetEngine Condition**.

![A Shortcode-generátor fül a JetEngine Data beállításaival](./kepek/shortcode-generator.webp)

*A Shortcode-generátor fül a JetEngine Data beállításaival* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine)

A képen a kész rövidkód a beállítások alatt, a lap alján látszik: `[jet_engine_data]`. Ahogy módosítod a beállításokat, a rövidkód paraméterei változnak.

### JetEngine Data

A rövidkód a JetEngine mezők adatát kéri le és jeleníti meg.

| Beállítás | Mit csinál |
|---|---|
| **Forrás** | A rövidkód adatforrása: **Bejegyzés/kifejezés/felhasználó/objektum adatai**, **Metaadat**, **Lekérdezési változó**, **Beállítások**. Mindegyik a hozzá tartozó mezőket kapcsolja be. |
| **Objektummező** | A bejegyzés, kifejezés, felhasználó vagy objektum alapértelmezett mezőjét választja (például **Cím**). |
| **Egyéni objektummező / Meta mező / Ismétlőkulcs** | Beírhatod a mező kulcsát. Ha kitöltöd, felülírja az **Objektummező** vagy a **Meta mező** értékét. |
| **Elrejtés, ha üres** | Elrejti az értéket, ha üres. Bekapcsolva megjelenik a **Helyettesítő érték** mező, amelyben alternatív szöveget adhatsz meg hiányzó adat esetére. Alapból ki van kapcsolva. |
| **A mező kimenetének szűrése** | Visszahívásokat (callback) alkalmaz a rövidkódra. Bekapcsolva megjelenik az **Alkalmazott visszahívások** szakasz, ahol az **Új elem hozzáadása** gombbal beállíthatod a visszahívást. |
| **A mező kimenetének testreszabása** | Bekapcsolva megjelenik a **Mező formátuma** mező, amelyben szöveget adhatsz az érték elé és mögé. A `%s` a lekért értéket jelzi, a `%1$s` ugyanazt az értéket többször is beilleszti. |
| **Kontextus** | Meghatározza, honnan származzon a mező adata. |
| **Sanitize value** | Az érték tisztítási módja (alapérték: `raw`). |

A **Forrás** értékei:

- **Bejegyzés/kifejezés/felhasználó/objektum adatai**: az objektum alapértelmezett mezőiből húz tartalmat.
- **Metaadat**: a JetEngine által létrehozott metamezőkből veszi a tartalmat; a mezőt a listából választhatod, vagy beírhatod a kulcsát.
- **Lekérdezési változó**: a **Változó neve** mezőn keresztül a keresési eredményoldalon jeleníthet meg bejegyzéseket. Ha például az „s” betűt írod be, és valaki „virág” szóra keres, a rövidkód a megadott típusú, címében, tartalmában vagy kivonatában találatot adó bejegyzéseket adja vissza.
- **Beállítások**: a **Beállítási oldalak** metamezőit érheted el a megjelenő listából.

A **Kontextus** értékei:

- **Alapértelmezett objektum**: az aktuális oldal vagy listázási sablon adatait mutatja.
- **Aktuális felhasználó (globális)**: annak a felhasználónak az adatait mutatja, akinek az oldal készült.
- **Aktuális felhasználó (aktuális hatókör)**: azét a felhasználóét, akinél a folyamat éppen tart. Ha például egy felhasználólistában rákattintanak egy felhasználóra, a rá kattintott felhasználó adata jelenik meg, nem a bejelentkezetté.
- **Lekérdezett felhasználó**: a bejelentkezett vagy az URL-ben megadott azonosítójú felhasználó adatát mutatja.
- **Aktuális bejegyzés szerzője**: a megnyitott bejegyzés szerzőjének metamező-értékét mutatja.
- **Alapértelmezett WordPress-objektum (az aktuális oldalhoz)**: mindig a WordPress által meghatározott aktuális globális objektum adatait mutatja. Egyedi bejegyzésoldalon ez a bejegyzés, akkor is, ha az oldalra tett listázáson belül vagy.
- **Aktuális CCT tétel szerzője**: a megnyitott egyedi tartalomtípus-tétel szerzőjének adatait mutatja. CCT-hez tartozó listázási sablonban használható.
- **Szülő objektum** és a kapcsolatokhoz tartozó tételek: a létrehozott kapcsolat adatait mutatják.

### JetEngine Condition

Dinamikus láthatósági feltételekből készít rövidkódot.

| Beállítás | Mit csinál |
|---|---|
| **Tag Enclosing Type** | A rövidkód típusa. A **Enclosing** (`[shortcode attrs]tartalom[/shortcode]`) a feltétel teljesülése esetén a rövidkódon belüli tartalmat adja vissza, szövegszerkesztőben praktikus; ilyenkor a **Visibility Condition Type** listában választhatsz: „Show element if condition met” vagy „Hide element if condition met”. A **Selfclosing** (`[shortcode attrs]`) „true” vagy „false” értéket ad vissza, ez a Bricks láthatósági feltételeihez való. |
| **Condition** | A teljesítendő feltétel. A feltételek csoportjai: „General”, „JetEngine specific”, „User”, „Date&Time”, „Listing”. Egy-egy feltétel újabb mezőket kapcsol be (például a „Greater than” a **Forrás** mezőt az összehasonlításhoz). |

A kész rövidkódot másold be a blokkszerkesztő Shortcode blokkjába, a Bricks elem feltétel mezőjébe, vagy egy Szöveg típusú metamezőbe.

## Makrógenerátor

A **JetEngine → JetEngine → Makrógenerátor** fülön makrókat állíthatsz elő, amelyeket ott használhatsz, ahol támogatottak.

![A Makrógenerátor fül](./kepek/makrogenerator.webp)

*A Makrógenerátor fül* (https://minta-bolt.hu/wp-admin/admin.php?page=jet-engine)

A képen az üres alapállapot látszik; a kész makró a lap alján, a másolás gomb mellett jelenik meg.

| Beállítás | Mit csinál |
|---|---|
| **Makrók** | A beillesztendő makró kiválasztása. |
| **Kontextus** | Az objektum, amelyből a makró adatai származnak. Értékei ugyanazok, mint a rövidkód-generátornál (lásd fent). |
| **Tartalékérték** | A makró helyett visszaadott érték, ha a makró üres értéket ad vissza. |
| **Sanitize Callback** | A makró értékét előre meghatározott módon tisztítja. |

A **Sanitize Callback** lehetőségei:

- **Raw**: tisztítás nélkül adja vissza az értéket;
- **Safe HTML**: engedi a biztonságos HTML-t, és eltávolítja a veszélyes elemeket;
- **Escape HTML**: a HTML-karaktereket szövegként kezeli;
- **Escape attribute**: HTML-attribútumban használható formára alakítja;
- **Escape URL**: URL-ben használható formára alakítja;
- **Egyszerű szöveg**: eltávolítja a HTML-címkéket;
- **E-mail-cím**: e-mail-címként tisztítja;
- **Kulcs**: kulcsként tisztítja;
- **Slug**: URL-barát slugot készít;
- **Absolute integer**: nem negatív egész számmá alakítja;
- **Szám**: számként tisztítja.
