# Űrlap-hibaelhárítás: feltételes logika, dátum és dinamikus lista

> Három gyakori űrlapprobléma megoldása: a bejegyzés- és kifejezésmezők feltételes láthatósága, az 1970-01-01-es dátum és a „Generate Dynamically” opció.

## Feltételes logika bejegyzés- és kifejezésmezőkön

Ha egy űrlapon a jelölőnégyzet, a választó vagy a rádiógomb mezőt bejegyzésekből vagy kifejezésekből (taxonómia) töltöd fel, és ezekre akarsz láthatósági feltételt, a feltétel csak akkor működik, ha jó értéket adsz meg.

1. Nyisd meg a **JetEngine → Űrlapok** oldalt, és kattints a kívánt űrlap **Edit** gombjára.
2. Győződj meg róla, hogy a bejegyzés- vagy kifejezésmező már létezik az űrlapon.
3. Abban a mezőben, amelyet a feltétel szerint el akarsz rejteni vagy meg akarsz jeleníteni, kattints a **Set up conditional rules** gombra.
4. A **Field** listából válaszd ki a bejegyzéseket tartalmazó mezőt.
5. Az **Operator** mezőben válaszd az **Equal** lehetőséget. Ez a rádió- és a választó (Select) mezőkre működik. **Jelölőnégyzet (Checkboxes)** mezőnél az **In the list** operátort használd.
6. A **Value to compare** mezőbe a bejegyzések **azonosítóját (ID)** írd, ne a címüket. A rádió, a jelölőnégyzet és a választó mező alapból a bejegyzés ID-ját adja értékként, ezért a cím nem egyezne.
7. Kattints az **Apply Changes** gombra, majd mentsd az űrlapot az **Update** gombbal.

Ha az értéket nem az ID-ból, hanem a bejegyzés címéből vagy egy másik metamezőből szeretnéd venni, a bejegyzésmező szerkesztésénél add meg a metamező nevét. A feltétel onnan olvassa az értéket.

A kifejezésmezőkre ugyanez érvényes. Ha a kifejezésmező jelölőnégyzet típusú, az **In the list** operátort kell használnod.

Az eredményt a frontenden látod: amíg nincs kijelölve olyan bejegyzés vagy kifejezés, amelynek az ID-ja szerepel a feltételekben, a feltételhez kötött mezők rejtve maradnak. Ha kiválasztod a feltételben szereplő ID-jú elemet, a mezők megjelennek.

## A dátum 1970-01-01 lesz az űrlapról létrehozott bejegyzésben

Ha az űrlappal létrehozott bejegyzésnél a dátummező 1970-01-01, a hibát három helyen kell keresni.

### 1. A bejegyzéstípus dátum metamezője

1. Nyisd meg a **JetEngine → Bejegyzéstípusok** oldalon a kívánt típust.
2. Görgess le a **Date** típusú metamezőhöz, és nyisd ki.
3. A **Name/ID** ne tartalmazzon nagybetűt és szóközt.
4. Kapcsold be a **Save as timestamp** (Mentés időbélyegként) opciót, ha nincs bekapcsolva.

### 2. Az űrlap dátummezője

1. Nyisd meg a **JetEngine → Űrlapok** oldalon a bejegyzést létrehozó űrlapot, például az „Új bejegyzés” űrlapot.
2. A mezők listájában keresd meg a **Date** típusú mezőt, és kattints a ceruza ikonra.
3. Jelöld be az **Is Timestamp** jelölőnégyzetet, és mentsd a módosítást.
4. A **Post-Submit Actions / Notification Settings** részben ellenőrizd az **Insert/Update Post** értesítést (ceruza ikon): minden beállításnak helyesnek kell lennie.
5. Kattints az **Apply Changes** gombra, majd frissítsd az űrlapot.

### 3. Próbabeküldés

Nyisd meg a frontenden az űrlapot, tölts ki minden kötelező mezőt a dátummal együtt, és küldd be. Utána a bejegyzés szerkesztőjében, a dátum metamezőnél a beküldött dátumnak kell látszania.

## A „Generate Dynamically” opció nem működik

A **Generate Dynamically** opcióval a jelölőnégyzet, a rádió és a választó mezők lehetőségeit egy bejegyzéstípus metamezőjéből töltheted fel automatikusan. A lista a **Generator Function** listában kiválasztott függvény szerint áll elő; ebben a példában a **Get values from JetEngine field options** függvényt használjuk.

Példa: van egy bejegyzéstípusod, amelyben választó, jelölőnégyzet vagy rádió típusú metamezők vannak, és van egy „Új bejegyzés” űrlapod, amellyel a frontenden új elemet adhatsz hozzá.

1. Nyisd meg a **JetEngine → Űrlapok** oldalon az új bejegyzést létrehozó űrlapot, és kattints az **Edit** gombra.
2. Vegyél fel egy **Checkboxes** mezőt, vagy szerkeszd a meglévőt. A lehetőségek forrásánál válaszd a **Generate Dynamically** opciót és a fenti generátorfüggvényt.
3. A metamező nevét (**Name/ID**) a bejegyzéstípus szerkesztőjében, a kívánt metamezőt megnyitva tudod kimásolni. Ezt add meg a mezőnév értékeként a bejegyzés ID-ja helyett.
4. Mentsd a módosításokat, és frissítsd az űrlapot.

A frontenden az űrlap mostantól automatikusan átveszi a metamező lehetőségeit, nem kell kézzel felvenned minden címkét és értéket.

Ha több bejegyzéstípusban is van hasonló nevű metamező, az opció hibásan működik. Ilyenkor nevezd át előre azt a mezőt, amelyet használni szeretnél, hogy a név egyedi legyen.
