# Használat

> Hirdetésfeladó űrlap építése Hierarchical Select blokkal: szintek beállítása, bejegyzésbe mentés, az eredmény a frontenden.

Ez a fejezet egy példán mutatja be a blokk használatát: egy hirdetésfeladó űrlapon a feladó kiválasztja a jármű típusát
(**Autók** vagy **Motorok**), majd a gyártóját. A példa a beépített **Kategóriák** osztályozást használja; az **Autók**
kategória alá az **Audi**, **BMW**, **Toyota**, a **Motorok** alá a **Kawasaki**, **Ducati** gyermekkategóriák tartoznak.

## 1. Az osztályozás előkészítése

1. Hozz létre egy hierarchikus osztályozást, vagy használd a beépített **Kategóriák**-at.
2. Vegyél fel szülő kifejezéseket (például **Autók**, **Motorok**), majd mindegyik alá gyermek kifejezéseket (például **Audi**).
3. Saját osztályozásnál (például JetEngine-nel készítettnél) a létrehozáskor kapcsold be a hierarchikus beállítást, különben az osztályozás nem jelenik meg a blokk választékában.

Ha az osztályozás egy egyedi bejegyzéstípushoz tartozik, hozd létre előbb a bejegyzéstípust és annak a mezőit is (például modell, ár), mert ezeket az űrlap később bejegyzésbe mentheti.

## 2. Az űrlap felépítése

1. A **JetFormBuilder** menüben hozz létre új űrlapot, és adj nevet neki.
2. Szúrj be egy szövegmezőt (például **Neved**).
3. Szúrj be egy **Hierarchical Select** blokkot.
4. Jelöld ki a blokkot. A szürke sávban válaszd ki az **Osztályozás (taxonomy) típusa** listából a használt osztályozást (példánkban **Kategóriák**).
5. A **Kifejezés értéke innen** listából válaszd a **Kifejezés ID** értéket.
6. A **Hozzáférés a gyermekszintekhez** listából válaszd az **Összes gyermekszint elrejtése a szülőszint kiválasztásáig** lehetőséget.
7. A jobb oldali panelen töltsd ki a **Field label** mezőt (példánkban „Jármű”). A **Form field name** automatikusan kitöltődik.
8. Kattints a **Szintek szerkesztése** gombra. Az első szintnél a **Név** mezőre kattintva a név magától kitöltődik; add meg a **Címkét** („Járműtípus”) és a **Helykitöltőt** („Válassz…”).
9. Kattints a **+ Új szint hozzáadása** gombra, és ugyanígy töltsd ki a második szintet („Gyártó”).
10. Kattints az **Update** gombra.
11. Szúrj be egy beküldő gombot is, majd mentsd az űrlapot.

![A kész űrlap a szerkesztőben: név mező, a kétszintes Jármű mező és a Küldés gomb](./kepek/szerkeszto-urlap.webp)

*A kész űrlap a szerkesztőben: név mező, a kétszintes Jármű mező és a Küldés gomb* (https://minta-bolt.hu/wp-admin/post.php?post=4&action=edit)

A **Jármű** mező két listát tartalmaz: a **Járműtípus** és a **Gyártó** szintet.

Minden szinthez annyi szintet vegyél fel, ahány szint mély az osztályozásod (két szint = szülő és gyermek, három szint = szülő, gyermek, unoka).

## 3. Az űrlap kitöltése a frontenden

Tedd az űrlapot egy oldalra a JetForm blokkal, és nyisd meg az oldalt. Mivel a gyermekszintek rejtettek, kezdetben csak a **Járműtípus** lista látszik.

![Az űrlap a frontenden, kiválasztás előtt: csak a Járműtípus lista látszik](./kepek/urlap-kezdo.webp)

*Az űrlap a frontenden, kiválasztás előtt: csak a Járműtípus lista látszik* (https://minta-bolt.hu/hirdetesfeladas/)

Ha kiválasztod az **Autók** elemet, megjelenik a **Gyártó** lista az **Autók** alá tartozó kifejezésekkel.

![A frontenden az Autók elem kiválasztása után megjelenik a Gyártó lista](./kepek/urlap-szulo-kivalasztva.webp)

*A frontenden az Autók elem kiválasztása után megjelenik a Gyártó lista* (https://minta-bolt.hu/hirdetesfeladas/)

A **Gyártó** listában csak az **Autók** gyermekei szerepelnek (**Audi**, **BMW**, **Toyota**). A **Motorok** kiválasztásakor a **Kawasaki** és a **Ducati** jelenik meg.

## 4. Mentés bejegyzésbe

Ha az űrlap beküldésekor bejegyzés jöjjön létre, használd a JetFormBuilder **Insert/Update Post** beküldés utáni műveletét:

1. Nyisd meg az űrlap **JetForm** panelét, majd a **Post Submit Actions** részt.
2. Vegyél fel egy **Insert/Update Post** műveletet.
3. A **Post Type** listában válaszd ki a bejegyzéstípust, a **Post Status** listában az állapotot (például Published).
4. A **Fields Map** részben rendeld hozzá az űrlapmezőket a bejegyzés mezőihez (például a modell mezőt a **Post Title**-höz, a fotót a **Post Thumbnail**-hez, a többit a **Post Meta**-hoz).
5. A Hierarchical Select blokk minden szintjéhez külön sor tartozik. Mindegyik szintnél válaszd a **Post Term** lehetőséget, és mellé azt az osztályozást, amelyből a kifejezések származnak. Így a bejegyzés a szülő és a gyermek kifejezést is megkapja.
6. Kattints az **Update** gombra, és tedd közzé az űrlapot.

Beküldés után a bejegyzés létrejön, és a kiválasztott szülő és gyermek kifejezés is hozzá lesz rendelve. Ha a felhasználók a frontenden is szerkeszthetik a bejegyzést, az űrlap előbeállításait (**Preset Settings**) is be kell állítani, hogy a mezők a mentett értékekkel töltődjenek fel.

## Hibaelhárítás

| Jelenség | Ok és megoldás |
| --- | --- |
| A blokk **Osztályozás (taxonomy) típusa** listájában nincs ott az osztályozás | Csak hierarchikus osztályozások szerepelnek benne. Kapcsold be az osztályozás hierarchikus beállítását. |
| A blokkban az „Adj hozzá legalább egy szintet” üzenet áll | Még nincs szint. A **Szintek szerkesztése** gombbal vegyél fel legalább egyet. |
| Egy szint üres marad | Az előző szinten kiválasztott kifejezésnek nincsenek gyermekei. A kézi bevitel engedélyezésével a felhasználó saját értéket is megadhat. |
| A **Kifejezés metaadatai** választásnál üres a lista | Csak azok a kifejezések jelennek meg, amelyeknél a megadott metaadatmező nem üres. Ellenőrizd a kulcsot. |
| A bejegyzés nem kapja meg a kiválasztott kifejezést | Ellenőrizd, hogy a **Fields Map** minden szintnél a **Post Term** értéket és a helyes osztályozást adja meg. |
